crontab不通过ftp脚本上传文件

时间:2014-01-11 05:59:25

标签: linux ftp crontab

我编写使用/ var / www目录和mysqldump db创建zip文件的脚本 通过ftp上传 将模式更改为可执行文件并将其放入cron选项卡

但是文件没有上传!!!

#!/bin/bash

mysqldump -u root -h localhost -p123456 --all-databases > /tmp/test/databases.sql
tar cfz /tmp/test/databases.sql /var/www /tmp/test/zip.tar.tgz

ftp -n <<EOF
open $server
user $user $password
put /tmp/test/zip.tar.tgz
EOF

将它放在crontab

          • ./ script.sh

但是当crontab工作时,只创建了zip文件并且没有上传

1 个答案:

答案 0 :(得分:-1)

您可以使用curl进行FTP上传。

您应该担心(使用当前脚本)关于ftp命令的输出( stdout stderr )。它可能是通过邮件cron

发送的

此外,您可以在脚本中使用logger(1)命令。

例如,您可以添加

logger -t backupcron -s user=$user passwd=$passwd server=$server
ftp之前

并检查(在/var/log/messages或您拥有的任何日志文件中)变量确实是您认为的。

不要忘记cron没有使用与终端相同的环境启动您的cronjob。特别是$server$user$passwd 定义。