首页 > 后端开发 > php教程 > Linux自动备份数据库失败

Linux自动备份数据库失败

WBOY
发布: 2016-08-29 08:50:48
原创
939 人浏览过

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 应该写绝对路径;

相关标签:
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板