cron一个带有debian、screen和ec2的简单测试脚本

cron一个带有debian、screen和ec2的简单测试脚本,cron,debian,crontab,Cron,Debian,Crontab,我想在这里学习cron(如果问题是101,我很抱歉!)。我有一个小测试脚本,如下所示: #! /bin/sh # /home/admin/js/test.sh # SHELL=/bin/bash source ~/.bashrc # Some things that run always screen -d -r myscreen touch /home/admin/js/testsuccess.txt exit 0 然后我执行crontab-e并添加以下条目(我正在ec2上运行debian

我想在这里学习cron(如果问题是101,我很抱歉!)。我有一个小测试脚本,如下所示:

#! /bin/sh
# /home/admin/js/test.sh
#
SHELL=/bin/bash
source ~/.bashrc

# Some things that run always
screen -d -r myscreen
touch /home/admin/js/testsuccess.txt
exit 0
然后我执行
crontab-e
并添加以下条目(我正在ec2上运行debian 7):

所以。。在规定的时间内,基本上每15分钟运行一次。cron似乎在运行,即当我运行时:

grep CRON /var/log/syslog
我看到了输出:

Oct 26 19:30:01 ip-16-653-987-12 /USR/SBIN/CRON[20700]: (admin) CMD (root  /home/admin/js/test.sh > /dev/null 2>&1)
…但是我在目录中没有看到
触摸
新文件。不知道这里到底发生了什么-任何解决这个问题的建议都将不胜感激!
谢谢。

问题在于cron条目,您的脚本似乎工作正常

当您执行普通的
crontab-e
时,您正在修改与您的用户对应的crontab条目。在
/etc/crontab

因此,您可以使用
crontab-u user-e
打开特定用户的crontab(因为您案例中的用户是
root
,您需要使用
sudo
运行此操作)并输入cronjob,但不包含用户名

*/15 7-23 * * * /home/admin/js/test.sh > /dev/null 2>&1
或者您可以在
/etc/crontab
中将cron作业添加到系统范围的cron作业中,而不是使用
crontab-e


另外请注意,您在脚本中使用的
~
可能会导致问题,请始终在cron作业中使用完整路径。

您是否能够解决此问题?
*/15 7-23 * * * /home/admin/js/test.sh > /dev/null 2>&1