crontab 是通过 /etc/cron.allow 和 /etc/cron.deny 文件来限制某些用户是否可以使用 crontab 命令的:
crontab 定时任务非常简单,只需执行 crontab -e 命令,然后输入想要定时执行的任务陵陆即可。
当我们执行 crontab -e 命令时,打开的是一个文件,而且 *** 作方法和 Vim 是一致的。这个文件的格式才是我们真正樱汪虚需要学习的内容,文件格式如下:
通过 5 个 * 来确定命令或任务的执行时间的,这 5 个 *
时间特殊符号含义:
举例:
45 22 * * * 命令,表示 在 22 点 45 分执行命令
0 17 ** 1命令,表示在每周一的 17 点 0 分执行命令
0 5 1,15**命令,表示在每月 1 日和 15 日的凌晨 5 点 0 分执行命令
40 4 ** 1-5命令,表示在每周一到周五的凌晨 4 点 40 分执行命令
*/10 4 ***命令,表示在每天的凌晨 4 点,每隔 10 分钟执行一次命令
0 0 1,15 * 1命令,表示在每月 1 日和 15 日,每周一个 0 点 0 分都会执行命令,注意:星期几和几日最好不要同时出现,因为它们定义的都是天,非常容易让管理员混淆
当 crontab -e 编辑完成之后,一旦保存退出,那么这个定时任务实际就会写入 /var/spool/cron/ 目录中,每个用户的定时任务用自己的用户名进行区分。
在书写 crontab 定时任务时,需要注意以下几个事项:
在ubuntu下安装crontab后,系统默认的是不开宏销慧启crontab的日志记录的,启用crontab的日志的办法:1.修改rsyslog文件,将/etc/rsyslog.d/50-default.conf 文件中的#cron.*前的#删掉;
重启rsyslog服务service rsyslog restart;
重启cron服务service cron restart;
代码如下:more /var/log/cron.log;
2.就可以查看运行时的日志文件,如果在日志文件中出现:No MTA installed, discarding output
3.那么就是说,crontab执行脚本时是不会直接错误的信息输出,而是会以邮件的形式发送到邮箱里,这时候就需要邮件服务器了,如果没有安装邮件服务器蔽答,就会报这个错。如果是测试,可以用下面的办法来解决:
在每条定时脚本后斗激面加入:
>/dev/null 2>&1。就可以解决No MTA installed, discarding output的问题。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)