在EC2实例上通过Cronjob运行shell脚本时出现问题

时间:2013-06-05 04:31:51

标签: linux bash shell cron crontab

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

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

当我做crontab -e

时,我写了这个

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

我只是不明白这整个cron的事情以及权限如何运作。

非常感谢任何帮助!

1 个答案:

答案 0 :(得分:1)

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

  2. 您无法以任何形式的crontab指定目录。要更改目录,请使用cd。

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

  4. 以root用户身份(假设您想以root用户身份运行,而不是以ec2用户身份运行),运行crontab -e并添加

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

    确保您可以在根终端中复制粘贴命令并使其正常工作,然后读取root的邮件以查看命令的输出以及可能的错误消息。如果仍然无效,请确保您有这些错误。