1

我拥有一台 QNAP-219P,我想使用 s3cmd 手动设置它。

我对此做了很多研究,以下是我得到的参考资料:

我正在尝试让 s3cmd 在我的 TS-219P 上工作。

我让一切正常工作(在命令行上),甚至在命令行上运行脚本文件(s3-backup.sh):

#!/bin/bash   <-- I also tried #!/bin/sh

/share/maintenance/s3cmd-1.5.0-rc1/s3cmd --rr sync -rv /share/all-shared-folders/emilie/ s3://kingjim-backup/kingjim-nas/emilie/ >> /share/maintenance/log/s3cmd/backup_`date "+%Y%m%d-%H-%M"`.log    <-- I also tried running s3cmd via python by adding /usr/bin/python on the front.

如果我使用 SSH 命令提示符运行,它似乎工作得很好。

但问题是cronjob。我可以确认 cronjob 触发器并运行它,因为我的日志文件(上面的那个)已生成,但日志始终为空,即使我确定创建/修改了一些新文件。

这是我的 cronjob 任务:

14 3 * * * /share/maintenance/s3-backup.sh 2>&1 | logger

我对上述内容做了许多不同的变化,但找不到丢失的内容。

与我在命令提示符下运行 crontab 时相比,我觉得在运行 crontab 时缺少一些依赖项。但我不知道如何调试 crontab。

4

1 回答 1

1

发现问题是运行s3cmd时找不到s3cmd配置文件。

所以解决方法是简单地将这个 .s3config 文件复制到一个安全的共享文件夹,然后使用“--config”参数调用 s3cmd,后跟该文件。

像这样:

/share/maintenance/s3-backup/s3cmd/s3cmd --config
/share/maintenance/s3-backup/s3cmd.config --rr sync -rv /share/MD0_DATA/ s3://xxx-backup/xxx-nas/ >> /share/maintenance/s3-backup/logs/backup_`date "+%Y%m%d-%H-%M"`.log 2>&1
于 2014-10-19T08:27:36.187 回答