Linux 在shell中创建用户cron时出错
我正在使用shell脚本部署我的服务器。我有一句话:Linux 在shell中创建用户cron时出错,linux,bash,shell,cron,Linux,Bash,Shell,Cron,我正在使用shell脚本部署我的服务器。我有一句话: crontab -l | { cat; echo "0 0 0 0 0 some entry"; } | crontab - no crontab for test "-":0: bad minute
crontab -l | { cat; echo "0 0 0 0 0 some entry"; } | crontab -
no crontab for test
"-":0: bad minute
errors in crontab file, can't install.
我如何修改这一行以作为名为test的系统用户运行这个cron?当我尝试这个:
APPUSER="test"
crontab -u $APPUSER -l | { cat; echo "/10 * * * * somepath/bin/python somepath/cron.py"; } | crontab -
no crontab for test
"-":0: bad minute
errors in crontab file, can't install.
我得到这个错误:
no crontab for test
"-":0: bad minute
errors in crontab file, can't install.
我哪里出错了?我认为您必须在/10之前添加*以使其每10分钟运行一次,并在最后一个crontab调用中添加-u$APPUSER以将其添加到$APPUSER的crontab中。比如:
no crontab for test
"-":0: bad minute
errors in crontab file, can't install.
APPUSER="test"
crontab -u $APPUSER -l | { cat; echo "*/10 * * * * somepath/bin/python somepath/cron.py"; } | crontab -u $APPUSER -
省去最后一个| crontab-来查看生成的crontab。因此它应该是:crontab-u$APPUSER-l{cat;echo/10****somepath/bin/python somepath/cron.py;}?是的,只是为了调试。此输出是错误抱怨的输出。另外,请查看man 5 crontab以了解正确的语法。感谢您的帮助。当我运行这个命令时,它没有为测试抛出crontab,但是它不应该向我显示cron吗?如果运行crontab-u test-l,您现在应该可以看到新的crontab条目了。显示该消息是因为测试的crontab最初是空的。那么代码首先打印cron内容?我们能把这个钻头去掉吗?是这样吗?:{cat;echo*/10****somepath/bin/python somepath/cron.py;}| crontab-u$APPUSER-是的,这句话将新条目附加到用户的crontab中。如果您想覆盖用户的crontab以仅包含该条目,则应该这样做:echo*/10****somepath/bin/python somepath/cron.py | crontab-u$APPUSER-