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