创建一个新的crontab文件
向cron进程提交一个crontab文件之前,首先要设置环境变量EDITOR。cron进程根据它来确定使用哪个编辑器编辑crontab文件。9 9 %的UNIX和LINUX用户都使用vi,如果你也是这样,那么你就编辑$HOME目录下的. profile文件,在其中加入这样一行:
EDITOR=vi; export EDITOR
然后保存并退出。不妨创建一个名为[user] cron的文件,其中[user]是用户名,例如, testcron。在该文件中加入如下的内容。
0,15,30,45 18-23,00-06 * * * echo 'date' > /aa/bb.txt
保存并退出。注意前面5个域用空格分隔。
在上面的例子中,系统将每隔1 5分钟向bb.txt输出一次当前时间。
有部分博客是如下的格式,经过测试是会报错的:bad hour in cron file
crontab不支持高位数字小于低位数字,所以要分开来写,18-23,00-06
0,15,30,45 18-06 * * *
为了提交你刚刚创建的crontab文件,可以把这个新创建的文件作为cron命令的参数:
$ crontab testcron
现在该文件已经提交给cron进程,它将每隔1 5分钟运行一次。同时,新创建文件的一个副本已经被放在/var/spool/cron目录中,文件名就是用户名(即test)。如果上面的文件不是[user]cron,比如叫devcron,那么在/var/spool/cron目录中的副本的文件名还是用户名(即test)
参考链接:http://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html
https://unix.stackexchange.com/questions/123479/getting-a-bad-hour-error-in-crontab
20180119更新
最近一次部署服务,在宿主机上crontab任务一切正常,但是在docker容器中crontab不执行。然后从宿主机上copy了一个文件到docker容器中
从宿主机的/etc/pam.d/crond文件copy到容器的相同路径下
ccount required pam_access.so
account include password-auth
session required pam_loginuid.so
session include password-auth
auth include password-auth