任务计划有两种:
1.在未来的某个时间点执行一次某任务;用at
2.周期性地执行某任务;cron
cron可以让系统在指定的时间,去执行某个指定的工作,我们可以使用crontab指令来管理cron机制
设定cron的权限,对用户使用定制任务管理
/etc/cron.allow
/etc/cron.deny
/var/spool/cron 针对不同用户设置规则
常用命令
crontab -l 查看当前任务
crontab -e 设置周期性任务
crontab -u 查看用户下的定制任务
crontab -r 删除任务
查看当前状态 /etc/init.d/crond status
重启 /etc/init.d/crond/restart
每一项任务的执行都会在日志中记录 /var/log/cron
设置规则
* * * * * root 命令
分 时 日 月 星期 用户 命令
注:
* 星号是每的意思
- 减号连续一段时间,如:00 17-19 * * * cmd 每天下午17点,18点,19点执行一次命令
, 逗号多个时间段,如:00 10-11,17-19 * * * cmd 每天的上午10,11点整,下午的17,18,19点整执行一次命令
/n n代表数字,指每隔n时间执行一次,如: */2 * * * * cmd 每隔2分钟执行一次命令
1)举例:
30 12-16/2 * ** cmd > /dev/null 2>&1
每天的中午的12点到16点,每隔2小时的半点执行一次,那就意味着是12:30 14:30 16:30 执行三次(有待考证)
命令后面用>/dev/null 2>&1 表示标准输出和标准错误都放入空
重定向到空可以避免碎片文件占用inode资源
重定向到一个指定log里,可以看任务是否执行
===================================================================
( 入侵检测工具之RKHunter & AIDE)