在EC2实例上通过Cronjob运行shell脚本的问题



我试图在EC2实例上运行脚本的cronjob,但它根本不起作用我现在运行它的方式是

15 * * * * root /home/ec2-user s3_upload.sh TestBucket

我在执行crontab -e

时写的

现在我在这个目录/home/ec2-user -/所以我不知道是否可能这与为什么它没有运行有关。

我只是不明白这整个cron的事情和权限是如何工作的。

任何帮助都非常感谢!

  1. 不能在用户的crontab中指定用户名,只能在/etc/crontab中指定。

  2. 您不能以任何形式的crontab指定目录。

  3. 环境不一样。例如,如果您在.bashrc中设置了PATH,这些将不会自动包含,因此使用完整路径是最安全的。

作为root(假设您想以root而不是ec2-user或其他)运行crontab -e并添加

15 * * * * cd /home/ec2-user && /full/path/to/s3_upload.sh TestBucket

确保您可以在根终端中复制粘贴命令并使其工作,然后阅读根的邮件以查看命令的输出和可能的错误消息。如果它仍然不能工作,请确保您有这些错误可用。

最新更新