• Linux下crontab命令的用法


    crontab :  任务调度的crond常驻命令
    crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。而linux任务调度的工作主要分为以下两类:
    1、系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
    2、个人执行的工作:某个用户定期要做的工作,例如每隔10分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置 

    Crontab是UNIX系统下的定时任务触发器,其使用者的权限记载在下列两个文件中: 
     文件                                                                    含义 
    
     /etc/cron.deny                              该文件中所列的用户不允许使用Crontab命令 
    
     /etc/cron.allow                             该文件中所列的用户允许使用Crontab命令 
    
     /var/spool/cron/                            是所有用户的crontab文件 
    
     /var/spool/cron/crontabs                    /var/spool/cron/crontabs
    

       
    Crontab命令的格式为:crontab –l|-r|-e|-i [username],其参数含义如表一: 

    参数名称                                  含义                                              示例 
    
     -l                          显示用户的Crontab文件的内容                                  crontab –l 
    
     -i                          删除用户的Crontab文件前给提示                                crontab -ri 
    
     -r                         从Crontab目录中删除用户的Crontab文件                          crontab -r 
    
     -e                         编辑用户的Crontab文件                                        crontab -e 
    


    用户所建立的Crontab文件存于/var/spool/cron中,其文件名与用户名一致。它的格式共分为六段,前五段为时间设定段,第六段为所要执行的命令段,
    格式如下:* * * * * 
    其时间段的含义如表二: 

    段                               含义                                      取值范围 
    
     第一段                         代表分钟                                      0—59 
    
     第二段                         代表小时                                      0—23 
    
     第三段                         代表日期                                      1—31 
    
     第四段                         代表月份                                      1—12 
    
     第五段                        代表星期几                                     0—6                    0代表星期日
    


    名称 : crontab 
    使用权限 : 所有使用者 
    使用方式 : 
    crontab [ -u user ] file 
    crontab [ -u user ] { -l | -r | -e } 
    说明 : 
    crontab 是用来让使用者在固定时间或固定间隔执行程序之用,换句话说,也就是类似使用者的时程表。-u user 是指设定指定 user 的时程表,这个前提是你必须要有其权限(比如说是 root)才能够指定他人的时程表。如果不使用 -u user 的话,就是表示设定自己的时程表。 
    餐数 : 
    -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe) 
    -r : 删除目前的时程表 
    -l : 列出目前的时程表 
    时程表的格式如下 : 
    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 的方式来设定时程表。 
    例子 : 
    每月每天每小时的第 0 分钟执行一次 /bin/ls : 
    0 7 * * * /bin/ls  
      
    在 12 月内, 每天的早上 6 点到 12 点中,每隔 20 分钟执行一次 /usr/bin/backup : 
    0 6-12/3 * 12 * /usr/bin/backup  
      
    周一到周五每天下午 5:00 寄一封信给 alex@domain.name : 
    0 17 * * 1-5 mail -s "hi" alex@domain.name  /dev/null 2>&1 即可 

    例:如果用户的Crontab文件的内容是:29 19 * * * echo its dinner time,则系统每天的19:29显示‘its dinner time’
    示例(创建一个cron全过程,每分钟都会在test.txt里输入当前时间): 

    1.     以普通用户登录linux系统(我用的是CentOS4.1) 

    2.     $crontab –e
    说明:系统默认的编辑器是VIM,如果不是请加上以下shell:
        $EDITOR=vi
        $export EDITOR 

    3.     输入”*/1 * * * * date >> $HOME/test.txt”,save and exit VIM 

    4.     $su root 

    5.     $cd /etc/init.d 

    6.     ./crond restart 

    下面看看看几个具体的例子:
    ● 0 */2 * * * /sbin/service httpd restart  意思是每两个小时重启一次apache 

    ● 50 7 * * * /sbin/service sshd start  意思是每天7:50开启ssh服务 

    ● 50 22 * * * /sbin/service sshd stop  意思是每天22:50关闭ssh服务 

    ● 0 0 1,15 * * fsck /home  每月1号和15号检查/home 磁盘 

    ● 1 * * * * /home/bruce/backup  每小时的第一分执行 /home/bruce/backup这个文件 

    ● 00 03 * * 1-5 find /home "*.xxx" -mtime +4 -exec rm {} ;  每周一至周五3点钟,在目录/home中,查找文件名为*.xxx的文件,并删除4天前的文件。
    ● 30 6 */10 * * ls  意思是每月的1、11、21、31日是的6:30执行一次ls命令

  • 相关阅读:
    windows下Yarn安装与使用(两种方法)
    git配置公钥---解决码云出现git@gitee.com: Permission denied (publickey)
    npm使用国内镜像的两种方法
    【LeetCode】33. Search in Rotated Sorted Array (4 solutions)
    【LeetCode】83. Remove Duplicates from Sorted List
    【LeetCode】82. Remove Duplicates from Sorted List II
    【LeetCode】85. Maximal Rectangle
    【LeetCode】84. Largest Rectangle in Histogram
    【LeetCode】87. Scramble String
    【LeetCode】162. Find Peak Element (3 solutions)
  • 原文地址:https://www.cnblogs.com/wqswjx/p/5489662.html
Copyright © 2020-2023  润新知