zoukankan      html  css  js  c++  java
  • crontab及每15分钟同步服务器的时间

    crontab及每15分钟同步服务器的时间

    crontab  名称 : crontab 

      使用权限 : root用户和crontab文件的所有者 

      语法 : 

      crontab [-e [UserName]|-l [UserName]|-r [UserName]|-v [UserName]|File ] 

      说明 : 

      crontab 是用来让使用者在固定时间或固定间隔执行程式之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 

      参数 : 

      -e [UserName]: 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe) 

      -r [UserName]: 删除目前的时程表 

      -l [UserName]: 列出目前的时程表 

      -v [UserName]:列出用户cron作业的状态

      时程表的格式如下 : 

      f1 f2 f3 f4 f5 program 

      其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行的程式。 

      当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推 

      当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推

      当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推 

      当 f1 为 a, b, c,... 时表示第 a, b, c,... 分钟要执行,f2 为 a, b, c,... 时表示第 a, b, c...个小时要执行,其余类推 

      使用者也可以将所有的设定先存放在档案 file 中,用 crontab file 的方式来设定时程表。 

      由于unix版本不一样,所以部分语法有差别,例如在hp unix aix 中设定间隔执行如果采用*/n 方式将出现语法错误,在这类unix中 ,间隔执行只能以列举方式,详请见例子。

      使用方法:

      用VI编辑一个文件 cronfile,然后在这个文件中输入格式良好的时程表。编辑完成后,保存并退出。

      在命令行输入 

      $: crontab cronfile

      这样就将cronfile文件提交给c r o n进程,同时,新创建cronfile的一个副本已经被放在/ v a r / s p o o l / c r o n目录中,文件名就是用户名。

      例子 : 

      每月每天每小时的第 0 分钟执行一次 /bin/ls : 

      0 * * * * /bin/ls 

      在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup : 

      */20 6-12 * 12 * /usr/bin/backup 

      周一到周五每天下午 5:00 寄一封信给 alex@domain.name : 

      0 17 * * 1-5 mail -s "hi" alex@domain.name < /tmp/maildata 

      每月每天的午夜 0 点 20 分, 2 点 20 分, 4 点 20 分....执行 echo "haha" 

      20 0-23/2 * * * echo "haha" 

      晚上11点到早上8点之间每两个小时,早上8点

      0 23-7/2,8 * * * date

      在hp unix,中,每20分钟执行一次,表示为:0,20,40 * * * * 而不能采用*/n方式,否则出现语法错误

      注意 : 

      当程式在你所指定的时间执行后,系统会寄一封信给你,显示该程式执行的内容,若是你不希望收到这样的信,请在每一行空一格之后加上 > /dev/null 2>&1 即可。

    15分钟同步服务器的时间

    */15 * * * * root /usr/sbin/timesync.sh

    每天晚上12点30分做一件事情

    30 0 * * * root /var/wwwroot/pay-reminder/trunk/src/questionaire/processQuestionaireDeadline.sh>/tmp/processQuestionaireDeadline.log

    注意,timesync.sh要有执行权限,即chmod 777 timesync.sh

    timesync.sh脚本的写法:

    #!/bin/bash

    echo "Sync start..." >> /var/log/timesync.log

    date >> /var/log/timesync.log

    # using China standard time server

    ntpdate 210.72.145.44 218.21.130.42

    # synchronize hardware clock

    hwclock --systohc

    date >> /var/log/timesync.log

    echo "Sync End." >> /var/log/timesync.log

    本文来自:Linux教程网

  • 相关阅读:
    Notes of Daily Scrum Meeting(12.18)
    Notes of Daily Scrum Meeting(12.17)
    Notes of Daily Scrum Meeting(12.16)
    Notes of Daily Scrum Meeting(12.8)
    Notes of Daily Scrum Meeting(12.5)
    Notes of Daily Scrum Meeting(12.3)
    Notes of Daily Scrum Meeting(11.12)
    Linux中profile、bashrc、bash_profile之间的区别和联系
    Linux GCC编译
    mysql 5.7.16 远程连接
  • 原文地址:https://www.cnblogs.com/www886/p/4236608.html
Copyright © 2011-2022 走看看