Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ubuntu 使用cron作业进行数据库备份_Ubuntu_Cron - Fatal编程技术网

Ubuntu 使用cron作业进行数据库备份

Ubuntu 使用cron作业进行数据库备份,ubuntu,cron,Ubuntu,Cron,我在/var/www/cronjobs/中创建了一个backup.sh,其中每个其他cronjobs都是: mysqldump --user root --password=mypass12--opt MYDATABASE \ > /home/balint/db/db-`date +%Y-%m-%d`.sql 在/etc/crontab中,我指定了cron,就像我的其他cronjobs一样: */2 * * * * root wget -q -O- http://mydomain

我在/var/www/cronjobs/中创建了一个backup.sh,其中每个其他cronjobs都是:

mysqldump --user root --password=mypass12--opt MYDATABASE \
    > /home/balint/db/db-`date +%Y-%m-%d`.sql
在/etc/crontab中,我指定了cron,就像我的其他cronjobs一样:

*/2 * * * * root wget -q -O- http://mydomain.com/cronjobs/backup.sh
在/home/balint/db中没有创建任何文件/ 我手动创建了db文件夹。我可以用root用户和密码mypass12输入mysql和phpmyadmin。当然,*/2仅用于测试


我缺少什么?

使用
wget
命令将从
mydomain.com
获取脚本,但它不会执行脚本。因此,它的行为就好像脚本没有运行一样也就不足为奇了,因为它没有运行

在回复评论时添加:

如果“你所有的cronjobs”都是这样写的,并且工作正常,那么你正在使用一些你没有告诉我们的非标准
cron
。 我刚刚在
/etc/crontab
中测试了一个作业,正如您在Ubuntu 13.04上所描述的那样。它的行为如文档所示,并且没有将作业的
cmd
部分的stdout作为输入传递给另一个shell


您是否查看了
/var/log/syslog
中的诊断信息?

首先,使用备份脚本中的命令备份mysql转储

mysqldump --user root --password=mypass12--opt MYDATABASE > /home/balint/db/db-`$(date +"%d-%m-%Y")`.sql 
然后将其附加到scp,以将生成的传输传输到远程位置

scp /home/balint/db/db-`$(date +"%d-%m-%Y")`.sql you@yourip
对于无密码登录,请确保在要上载数据库转储的远程计算机中添加该计算机的公钥,请参见下面的链接


我对所有cronjob使用wget命令,它们都工作正常。