在Amazon终端中,我输入:“-e”以打开编辑器。我有以下内容(包括末尾的空行):
@reboot echo "Running RMV scrape & R Shiny via: nano crontab -e"
@reboot nohup python /home/ec2-user/RMV/RMV_scrape.py &
@reboot nohup shiny-server &
@reboot service start httpd
@hourly cp -f /home/ec2-user/RMV/wait_times.csv /var/shiny-server/www/wait_times.csv在这里,我试图运行(a)我的程序,(b) apache,(c) R闪亮的服务器和(d)一个每小时运行一次的脚本来复制文件。
由于某种原因,它无法运行。pgrep chron确实显示chron在启动时运行。这不应该是权限问题,因为我使用crontab运行sudo。我的.py脚本中有一个相对路径名,但我将其更改为绝对路径名。
我咨询过:
你知道为什么这不管用吗?
发布于 2015-07-18 02:17:15
我认为您的问题在于用于编辑crontab的命令sudo nano crontab -e不编辑您在任何目录中创建的名为crontab的文件,但是crontab文件位于/var中,不打算直接编辑。对于任何给定的用户,crontab -e将使用环境变量编辑器中指定的编辑器编辑crontab。因此,要编辑root的crontab,命令是sudo crontab -e。
也就是说,向root的crontab添加条目可能不是您想要的。您可能希望将系统crontab用于类似的事情。在几乎所有情况下,系统crontab都是/etc/crontab,可以使用sudo nano /etc/crontab进行编辑。注意,对于system,您需要在时间和命令部分之间添加命令的用户。例如:
@reboot root echo "Running RMV scrape & R Shiny via: nano crontab -e"还请注意,出于安全考虑,crontab使用了非常小的PATH环境变量。如果您发出的命令不在路径上,它将不会执行。记住,要么将需要的路径添加到crontab路径(在特定的crontab文件中指定),要么从(文件系统)根目录将完整的路径添加到给定的可执行文件。
https://stackoverflow.com/questions/31483139
复制相似问题