首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cronjob load backup命令

Cronjob load backup命令
EN

Stack Overflow用户
提问于 2014-12-19 22:44:05
回答 1查看 292关注 0票数 0

我有一个关于cron Job命令的问题。

我想每天加载我的wordpress站点和mysql数据库的备份。所以它会将所有设置恢复到我的wordpress站点和mysql数据库的备份中。

但是我找不到可以用于cron作业的所有可能的命令。或者我只需键入备份文件所在位置的路径?

我不使用php代码,因为我使用的是直接管理。

希望能尽快收到您的回音!

EN

回答 1

Stack Overflow用户

发布于 2014-12-19 23:22:22

cron可以发射各种各样的东西。一般来说,所有可执行的东西。我建议写一个备份bash脚本或其他东西。

使用mysqldump.

  • backup
  1. 或git转储您的数据库。

另外:你不想在你的生产机器上备份你的东西。如果它坏了,一切都完了!

将备份cronjob放在/etc/cron.d/webbackup中,文件内容为:

代码语言:javascript
复制
# m h dom mon dow user  command
25 6    * * *   root    path/to/your/backupscript.sh
#

然后像这样写一个backupscript.sh (这是伪代码,而不是实际的脚本)

文件: backupscript.sh

代码语言:javascript
复制
#!/bin/bash
path/to/mysqldump.sh
rsync -avz /your/website/ username@backupserver:/path/to/backupfolder/
rsync -avz /your/mysqldump/folder/ username@backupserver:/path/to/mysqlbackupfolder/

文件: mysqldump.sh (这不是我的文件,但我修改了它)

代码语言:javascript
复制
#!/bin/bash
# TARGET: Backup-Ziel
# IGNORE: Liste zu ignorierender Datenbanken (durch | getrennt)
# CONF: MySQL Config-Datei, welche die Zugangsdaten enthaelt
TARGET=/var/backups/mysql
IGNORE="phpmyadmin|mysql|information_schema|performance_schema|test"
CONF=/etc/mysql/debian.cnf
if [ ! -r $CONF ]; then /usr/bin/logger "$0 - auf $CONF konnte nicht zugegriffen
 werden"; exit 1; fi
if [ ! -d $TARGET ] || [ ! -w $TARGET ]; then /usr/bin/logger "$0 - Backup-Verze
ichnis nicht beschreibbar"; exit 1; fi

DBS="$(/usr/bin/mysql --defaults-extra-file=$CONF -Bse 'show databases' | /bin/g
rep -Ev $IGNORE)"
NOW=$(date +"%Y-%m-%d")

for DB in $DBS; do
    /usr/bin/mysqldump --defaults-extra-file=$CONF --skip-extended-insert --skip
-comments $DB > $TARGET/$DB.sql
done

if [ -x /usr/bin/git ] && [ -d ${TARGET}/.bzr/branch ]; then
  cd $TARGET
  /usr/bin/git add -A
  /usr/bin/git commit -m "$NOW"
else
  /usr/bin/logger "$0 - bzr nicht verfuegbar oder Backup-Ziel nicht unter Versio
nskontrolle"
fi

/usr/bin/logger "$0 - Backup von $NOW erfolgreich durchgefuehrt"
exit 0

为此,您需要查看ssh和ssh-copy-id。有更好的解决方案,如git等,但这可能是你开始的东西。

我希望这能帮上点忙。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27568313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档