0

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

mysqldump --user root --password=mypass12--opt MYDATABASE \
    > /home/balint/db/db-`date +%Y-%m-%d`.sql

在 /etc/crontab 中,我像其他 cronjobs 一样指定了 cron:

*/2 * * * * root wget -q -O- http://mydomain.com/cronjobs/backup.sh

在 /home/balint/db/ 中没有创建一个文件我手动创建了 db 文件夹。我可以使用root用户和密码mypass12进入mysql和phpmyadmin。当然, */2 仅用于测试。

我错过了什么?

4

2 回答 2

0

First of all backup your mysql dump using the command in the backup script.

mysqldump --user root --password=mypass12--opt MYDATABASE > /home/balint/db/db-`$(date +"%d-%m-%Y")`.sql 

and then append it with scp to transfer being generated to the remote location

scp /home/balint/db/db-`$(date +"%d-%m-%Y")`.sql you@yourip

for a passwordless login make sure to add the public key of the machine in the remote machine where you want to upload the database dump see the below link

SSH passwordless login

于 2013-08-08T13:33:14.587 回答
0

wget命令将从 获取脚本mydomain.com,但不会执行它。所以毫不奇怪,它表现得好像脚本没有运行一样,因为它没有运行。

添加以回应评论:

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

您是否查看过/var/log/syslog任何诊断信息?

于 2013-08-03T10:20:12.197 回答