我正在使用PUTTY来访问服务器。我可以使用以下命令转储数据库:
/usr/bin/mysqldump --all-databases | /bin/gzip > Backup_DB/alldatabases_test.sql.gz
当我从root运行脚本时,该文件被转储到指定的文件夹中:
root@server1 [~]# sh mybackup.sh
root@server1 [~/Backup_DB]# ls -a
./ ../ alldatabases_test.sql.gz
但是,当我把它设置为cronjob时,它并没有倾倒任何东西:
*/2 * * * * sh mybackup.sh
其他cronjobs工作正常。
编辑
因此运行脚本无效,但感谢您的帮助。 我的最终目标是从我所有其他cronjobs所在的地方运行脚本,并在我有ftp访问权限的文件夹中创建备份。 这就是为什么我添加了一个cronjob:
*/2 * * * * sh /home/mysite/www/cronjobs/mybackup.sh
内容:
/usr/bin/mysqldump --all-databases | /bin/gzip > /home/mysite/www/cronjobs/alldatabases.sql.gz
这也不起作用。我在/ cronjobs文件夹中找不到alldatabases.sql.gz。路径设置错了吗?
我不是linux的人,但是当我登录到PUTTY并列出文件夹时,我看到像Desktop,Documents,Downloads,Pictures,public_html等文件夹。这就是mybackup.sh所在的位置。
—
erdomester
好的,当你看到
—
attomos
mybackup.sh
。你可以键入 pwd
获取当前的工作目录。让我们说吧 /home/username
附加 mybackup.sh
。所以,在你的cron中,你可以使用类似的东西 sh /home/username/mybackup.sh
。希望这个帮助:)
它是/ root。我也应该将文件附加到该文件中吗?
—
erdomester
是的,你可以尝试一下。
—
attomos
sh /root/mybackup.sh
mybackup.sh
?你能尝试改变你的cronjob吗?sh /path/to/mybackup.sh
?