MySQL备份dosen';我不能上班

MySQL备份dosen';我不能上班,mysql,cron,Mysql,Cron,我尝试每天备份我的数据库。当我运行脚本时,它工作得非常完美。但是当我把它放到crontab中时,gz归档文件是空的。它创建了一个空的sql文件,在他将其压缩到gz文件之后 有人能解释一下直接运行和通过cronjob运行之间的区别吗 #/usr/local/bin/bash 日期=`DATE'+%Y-%m-%d\uh%m%S'` mysqldump-u myUser-ptest*123 private|db|gzip>/mnt/backup#/MySQL/mysqlBackup_$DATE.sql

我尝试每天备份我的数据库。当我运行脚本时,它工作得非常完美。但是当我把它放到crontab中时,gz归档文件是空的。它创建了一个空的sql文件,在他将其压缩到gz文件之后

有人能解释一下直接运行和通过cronjob运行之间的区别吗

#/usr/local/bin/bash
日期=`DATE'+%Y-%m-%d\uh%m%S'`
mysqldump-u myUser-ptest*123 private|db|gzip>/mnt/backup#/MySQL/mysqlBackup_$DATE.sql.gz
如果[-f/mnt/backup#/MySQL/mysqlBackup_$DATE.sql.gz];然后
记录器“备份:MySQL私有数据库…成功”
其他的
记录器“备份:MySQL专用数据库…失败”
fi

好的,我找到了解决方案。这是一个问题,取决于我的操作系统。我使用FreeBSD,cronjob作为根。但是cronjob root与用户root具有不同的系统环境。所以我在脚本中加入了一些环境

#/usr/local/bin/bash
日期=`DATE'+%Y-%m-%d\uh%m%S'`
SHELL=/bin/csh
路径=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
/usr/local/bin/mysqldump-u myUser-ptest*123 private_db|gzip>/mnt/backup#/MySQL/mysqlBackup_$DATE.sql.gz

如果[1000-gt$(wc-cOk),我找到了解决方案。这是一个问题,取决于我的操作系统。我使用FreeBSD,cronjob作为根目录工作。但是cronjob根目录与用户根目录具有不同的系统环境。因此我在脚本中加入了一些环境

!/usr/local/bin/bash
日期=`DATE'+%Y-%m-%d\uh%m%S'`
SHELL=/bin/csh
路径=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
/usr/local/bin/mysqldump-u myUser-ptest*123 private_db|gzip>/mnt/backup#/MySQL/mysqlBackup_$DATE.sql.gz

如果[1000-gt$(wc-c),您使用什么脚本名称和命令来创建cron作业?您的环境中是否存在任何现有的cron作业?这是一个bash脚本。我通过“crontab-e”将其放入cron中。是的,以前很少有cronjobs。Cron执行脚本,我在/var/log/messages中看到它。但是gz文件是空的。我试过你的脚本。如果我把它放到crontab中,它就会工作。@quantummind你是否解压缩了文件,里面有一个真正的sql语句?脚本名是什么,你用什么命令来创建Cron job?有没有exi在您的环境中设置cron作业?这是一个bash脚本。我通过“crontab-e”将其放入cron中。是的,以前很少有cronjobs。Cron执行脚本,我在/var/log/messages中看到它。但是gz文件是空的。我试过你的脚本。如果我把它放到crontab中,它就会工作。@quantummind你是否解压缩了该文件,并且里面有一个真正的sql语句?