Heim  >  Artikel  >  Backend-Entwicklung  >  Linux自动备份数据库失败

Linux自动备份数据库失败

WBOY
WBOYOriginal
2016-08-29 08:50:48868Durchsuche

shell
dbbackup.sh:

<code>mysqldump -uname -ppassword dbname | gzip > /www/web/mysqlbackup/xiangyanghua`date +%Y-%m-%d_%H%M%S`.sql.gz
</code>

crontab

<code>37 22 * * * root /www/web/mysqlbackup/dbbackup.sh</code>

请问哪里有问题。

回复内容:

shell
dbbackup.sh:

<code>mysqldump -uname -ppassword dbname | gzip > /www/web/mysqlbackup/xiangyanghua`date +%Y-%m-%d_%H%M%S`.sql.gz
</code>

crontab

<code>37 22 * * * root /www/web/mysqlbackup/dbbackup.sh</code>

请问哪里有问题。

1.直接运行命令,可以不
2.crontab服务开了没

1 crontab 任务会用当前用户身份去执行的,加那个 root 没用;
2 那个命令手动执行一遍,看看能不能成功,或有无其它错误;
3 在你的 dbbackup.sh 脚本里面添加日志内容输出到文件,比如在开始行和结束行添加

<code>echo $(date)--start >> /tmp/xxx.log
</code>

这种方式用来判断这个脚本是否有执行,以及执行到哪一步出错;
4 crontab 任务上加上执行的标准输出和错误输出

<code>37 22 * * * /www/web/mysqlbackup/dbbackup.sh > /tmp/dbback.log 2>&1
</code>

5 脚本的可执行权限
6 mysqldump 如果是源码安装的话,需要注意 path 环境变量的问题,crontab 可能会读取不到路径,所以在脚本中 mysqldump 应该写绝对路径;

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn