linux某用户下添加定时任务

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, 内容如下图:

linux某用户下添加定时任务_第1张图片

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这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是目录名了

你可能感兴趣的:(linux基础知识)