php - Linux自动备份数据库失败

 任乔彦 发布于 2022-11-29 06:54

shell
dbbackup.sh:

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

crontab

3722***root/www/web/mysqlbackup/dbbackup.sh

请问哪里有问题。

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

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

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

    3722***/www/web/mysqlbackup/dbbackup.sh>/tmp/dbback.log2>&1

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

    2022-11-29 08:16 回答
  • 1.直接运行命令,可以不
    2.crontab服务开了没

    2022-11-29 08:16 回答
  • 先查看crond服务开了没有,

    /etc/init.d/crondstatus

    然后添加定时任务到/var/spool/cron/root

    echo"3722***/www/web/mysqlbackup/dbbackup.sh>/dev/null2>&1">>/var/spool/cron/root
    2022-11-29 08:16 回答
  • 你的crontab语法错误了,去掉root,如下:
    3722*/www/web/mysqlbackup/dbbackup.sh

    2022-11-29 08:16 回答
  • linux下遇到任何cron问题请先查看/var/log/cron执行日志,看看有什么问题,到底是执行了还是没执行,还有crontab文件请使用unix的换行符(末尾可能出现^M问题),请尽可能用vim进行编辑而不是别的编辑器。

    2022-11-29 08:16 回答
  • 1.你先看看你备份命令的date那块写的正确不???
    2.在crontab中执行脚本最好制定bash解释器执行

    2022-11-29 08:16 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有