使用s3cmd在QNAP上设置Amazon S3备份

时间:2014-10-18 19:39:25

标签: amazon-s3 backup crontab s3cmd qnap

我拥有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。

1 个答案:

答案 0 :(得分: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