我已经看到了其他类似的问题,但我找不到任何关于如何找出通过Crontab运行Bash脚本的正确方法的真实信息.该.sh
文件位于用户目录中(在我的例子中serverpilot
).
该脚本正在尝试复制apps
文件夹的内容并发送到我的S3存储桶.当sh backupS3.sh
从终端运行时脚本运行得很好,但是没有通过Cron的欢乐.我见过人们参考PATH变量等但不知道从哪里开始!
/backupS3.sh
#!/bin/sh
echo 'Started backing to S3'
date +'%a %b %e %H:%M:%S %Z %Y'
aws s3 sync /apps s3://bucketname
date +'%a %b %e %H:%M:%S %Z %Y'
echo 'Finished backing to S3'
Run Code Online (Sandbox Code Playgroud)
crontab中
*/10 * * * * /backupS3.sh >> backupS3.log
Run Code Online (Sandbox Code Playgroud)
任何人都可以指出我做错了什么吗?谢谢!
编辑:我已经在cron命令的末尾添加了2>&1,现在我在日志文件中得到了一些内容:
/bin/sh: 1: /backupS3.sh: not found