我正在尝试在 EC2 实例上运行脚本的 cronjob,但它根本不起作用我现在运行它的方式是
15 * * * * root /home/ec2-user s3_upload.sh TestBucket
我在做 crontab -e 时写了这个
现在我在这个目录 /home/ec2-user/ 所以我不知道这是否与它为什么没有运行有关。
我只是不明白整个 cron 的事情以及权限是如何工作的。
任何帮助是极大的赞赏!
您不能在用户的 crontab 中指定用户名,只能在/etc/crontab
.
您不能以任何形式的 crontab 指定目录。要更改目录,请使用 cd。
环境也不一样。例如,如果您将 PATH 设置为.bashrc
,这些将不会自动包含在内,因此使用完整路径是最安全的。
以 root 身份(假设您想以 root 而不是 ec2-user 或其他身份运行它),运行crontab -e
并添加
15 * * * * cd /home/ec2-user && /full/path/to/s3_upload.sh TestBucket
确保您可以将命令复制粘贴到 root 终端并使其正常工作,然后阅读 root 的邮件以查看命令的输出以及可能的错误消息。如果它仍然不起作用,请确保您有这些错误可用。