1、如在Oracle用户下添加定时任务
su - oracle (首先切换到oracel用户)
crontab -e
30 2 * * * oracle /backup/oracledata/ordatabak.sh
#每天凌晨2点30分,以oracle用户执行ordatabak.sh备份文件
(注意:添加定时任务时,如果是在用户下添加定时任务时,不需要加用户名比如:
30 2 * * * /backup/oracledata/ordatabak.sh )
2、配置文件存在于/var/spool/cron,只用root用户可访问该目录
cd /var/spool/cron
包括oracle和root两个用户的定时任务配置文件
然后 vi oracle ,可看到步骤一中配置的定时任务
可在上述文件中添加多个定时任务。
3、重启定时任务:sudo service crond restart
(oracel本身没有权限执行该命令,需赋予权限后用sudo执行,权限赋予见常见问题6)
4、查看当前用户的定时任务:crontab -l
5、删除当前用户的定时任务:crontab -r
6、每条任务调度执行完毕,系统都会将任务输出信息通过电子邮件的形式发送给当前系统用户,路径
为:/var/spool/mail/oracle
查看最近100行内容: tail -n 100 /var/spool/mail/oracle。
这样日积月累,日志信息会非常大,可能会影响系统的正常运行,因此,将每条任务进行重定向处理非常重要。
例如,可以在crontab文件中设置如下形式,忽略日志输出:
30 2 * * * /backup/orcldata/orcdatabk.sh >/dev/null 2>&1
“/dev/null 2>&1”表示先将标准输出重定向到/dev/null,然后将标准错误重定向到标准输出,由于标准输出已经重定向到了/dev/null,
因此标准错误也会重定向到/dev/null,这样日志输出问题就解决了。
7、日志路径:/var/log/cron, 内容如下图:
8、使用实例:
实例1:每1分钟执行一次command
* * * * * command
实例2:每小时的第3和第15分钟执行
3,15 * * * * command
实例3:在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * command
实例4:每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2 * * command
实例5:每个星期一的上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 command
实例6:每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart
实例7:每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart
实例8:每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart
实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart
实例10:每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart
实例11:每一小时重启smb
* */1 * * * /etc/init.d/smb restart
实例12:晚上11点到早上7点之间,每隔一小时重启smb
* 23-7/1 * * * /etc/init.d/smb restart
实例13:每月的4号与每周一到周三的11点重启smb
0 11 4 * mon-wed /etc/init.d/smb restart
实例14:一月一号的4点重启smb
0 4 1 jan * /etc/init.d/smb restart
实例15:每小时执行/etc/cron.hourly目录内的脚本
01 * * * * root run-parts /etc/cron.hourly
说明:
run-parts这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是目录名了