centos7—计划任务(at、cron)

2018-08-08 14:33:17 coisini_覔 阅读数 3751更多

分类专栏: Linux基础 crond/at
 
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。

计划任务:让计算机在指定的时间执行指定的事情
1、分类:一次性计划任务:at(临时的计划任务)
               周期性计划任务:cron
2、计划任务管理:查atq、创建at、删除atrm
      注:服务器重启一般都是晚上   凌晨2点
      at 时间
      atq   或  at  -l    查计划列表
          eg.  at 20:00
                at> poweroff      关机
                at> ctrl+d
3、时间的写法
      HH:MM   //18:30
      midnight   //0点 (午夜)
      noon   //12点 (中午)  
      teatime //16点(下午4点)
      AM  或   PM后缀指定一天的上午或下午。  //at  2:00 pm
      MMDDYY  、  MM/DD/YY 或 DD.MM.YY
      now + 计数  时间单位(minutes  、hours  、  days 或 weeks)
          eg. at now + 3 hours(从现在开始起三个小时后)
          eg. at 4pm  + 3 days   //三天以后的下午4点执行一个任务
               at 2am + tomorrom  //明天上午2点
               at 10am Jul 31   //7月31日上午10点

案例一:凌晨2点备份/etc目录 到 /tmp格式为 etc.tar.xz 
      at 02:00
      at> tar cvJf /tmp/etc.tar.xz /etc
      at> ctrl+d

4、查看所有用户的计划任务
      atq
      at -l
5、查看某个计划任务的详细内容
      at -c 工作号
6、删除计划任务
      atrm 工作号 ...
      at -d 工作号 ...

案例二:脚本方式创建at计划任务.
      echo  'ls;date;pwd'  | at  3:00      #用管道符将任务传给at命令
 案例三:用at将指定文件(-f  文件名)中的命令设为计划任务.
      #首先,创建命令文件
      vim /opt/aplan      #添加如下内容
          ls
          date
          pwd
          tar -czvf /tmp/etc.tar.gz /etc

7、at权限管理、安全
      /etc/at.allow      白名单:只允许在此名单内的用户使用at(此文件本身不存在)
      /etc/at.deny      黑名单:在此名单内的用户不可以使用at
      注:当两个文件都不存在,只有root用户可以使用at
            当两个文件都存在,allow优先执行

-----------------------------------------------------------
at服务管理:
查at软件是否已安装:pm -q at  
查at的文件列表:rpm -ql at
查at的配置文件列表:rpm -qc at
查at服务状态:systemctl status atd   或   service atd status
重启at服务:systemctl restart atd   或   service atd restart
关闭at服务:systemctl stop atd   或   service atd stop
开机不启动at服务:systemctl disable atd   或   chkconfig atd off
开机启动at服务:systemctl enable atd   或   chkconfig atd on

at的其他文件:
计划文件清单:ls   /var/spool/at/*    用cat可以看这些文件
-----------------------------------------------------------

cron:周期性计划任务、循环性计划任务,主要用于备份数据。
      crontab  
      usage:crontab [-u user] [ -e | -l | -r ]
      -u <user>  define user      #指定用户
      -e      edit user's crontab      #编辑计划任务
      -l      list user's crontab      #查看计划任务
      -r      delete user's crontab      #删除计划任务
1、crontab -e      编辑周期性计划任务的内容
2、查看配置:cat   /etc/crontab
时间
min     hour   day  month  week    command
分钟     小时      日      月         周      动作(任务命令)    
0-59     0-23    1-31   1-12   0-7    命令或脚本(写绝对路径)
30         2         1      *       *      rm -rf /tmp/*   //每月1号的2:30分删除/tmp目录下的所有文件
5           *          *       6      3    rm -rf /tmp/*   //每年6月的每周三每小时的5分钟删除/tmp目录下的所有文件
6           6         *       6     6    rm -rf /tmp/*    //每年6月的周六的6点6分钟删除/tmp目录下的所有文件

*  任何时刻
-   一段时间  //  8-11 *  *  *  *   rm -rf /tmp/*    //每小时的8分钟 9分钟 10分钟 11分钟 删除/tmp目录下所有文件     
,  分隔(不连续的时间)       //  1,2,5,9   *  *  *  *   rm -rf /tmp/*  //每小时的1分钟 2分钟 5分钟 9分钟 删除/tmp目录下所有文件     
0-4,8-12    //
0-23/2  时间间隔  //1  0-23/2   *  *   *  rm -rf /tmp/*    // "0,2,4,6,8,10,12,14,16,18,20,22").
*/2    每隔2小时     //1    */2   *  *   *  rm -rf /tmp/*     每隔2小时执行rm命令

*  0-23  *  *  *  rm -rf /tmp/*   
*   */1   *  *  *  rm -rf /tmp/*

3、时间的写法
The time and date fields are:

field          allowed values
      -----          --------------
      minute         0-59
      hour           0-23
      day of month   1-31
      month          1-12  (or  names,
      see below)
      day  of  week    0-7  (0 or 7 is
      Sun, or use names)

案例一:每个星期三的下午10:00备份/etc/目录到/tmp目录叫2017-04-12_etc.tar.gz备份文件包含当天日期
crontab -e
* 22 * * 3 /usr/bin/tar cvzf /tmp/`/usr/bin/date +%F`_etc.tar.gz /etc 
注:`命令`中的``为命令替换功能,系统会先执行``(反撇,反引号)中的命令.也可以将``写成$()
案例二:只保留最近1个月的日志文件
crontab -e
1 * * * *  find /var/log -mtime +30 |xarge -i rm -rf {}
案例三:每月1号的凌晨2点半清空临时盘
crontab -e
30  2  1  *  *  /usr/bin/rm -rf /tmp/* 
案例四:每周每天的晚上8:10关闭电脑,除了星期六,星期五,星期日的17:10关闭电脑
crontab -e
10 20 * * 1-4  /usr/sbin/poweroff
10 17 * * 5,7  /usr/sbin/poweroff
案例五:jim用户每天在家目录创建一个以日期命名的目录20170412
crontab -u jim -e
1  0  *  *  *  /bin/mkdir  /home/jim/`date +%Y%m%d`

4、查询周期性计划任务的内容
      crontab -l      #查看当前用户
      crontab -u jim -      #查看指定用户
5、删除某用户的所有周期性计划任务(删除某个计划任务crontab -e 进入文本删除)
      crontab -r      #当前用户
      crontab -u jim -r      #指定用户

系统定义的计划任务(默认)
      更新whatis数据库
      更新updatedb数据库
      日志定期轮滚(日志切割)
      清理/tmp /var/tmp
      收集系统的状态信息
 
vim /etc/crontab  配置文件        
# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed  
*/5 * * * *   root  命令   //每隔5分钟以root身份去执行命令

以下目录内可以存在脚本  该脚本就会按照时间去执行
      cd /etc
      cron.hourly/      #每小时
      cron.weekly/      #每周
      cron.daily/      #每天
      cron.monthly/      #每月

6、删除超过一个月不使用的文件
      cat /etc/cron.daily/tmpwatch
7、crontab服务管理:
      查软件是否已安装:rpm  -q  crontabs
      查软件的文件列表:rpm  -ql  crontabs
      查软件的配置文件列表:rpm -qc crontabs
      服务状态:systemctl   status   crond       注:d是daemon守护进程
      重启at服务: systemctl   restart   crond   或  service   crond  restart
      关闭at服务: systemctl   stop   crond   或  service   crond  stop
      开机不启动at服务: systemctl   disable  crond 或 chkconfig   crond  off
      开机启动at服务:  systemctl   enable   crond  或 chkconfig   crond  on
8、cron权限管理
/etc/cron.allow      白名单:只允许在此名单内的用户使用crontab(此文件本身不存在)
/etc/cron.deny      黑名单:在此名单内的用户不可以使用crontab
      注:两个文件都不存在,只有root用户可以使用crontab
             两个文件都存在,allow优先执行

centos7—计划任务(at、cron)的更多相关文章

  1. 周期性计划(一个cron守护进程):

    周期性计划(一个cron守护进程): root@ubuntu:/etc# ps -ef | grep cron root 903 1 0 16:25 ? 00:00:00 /usr/sbin/cron ...

  2. linux计划任务之cron

    目录 cron计划任务之用户级 cron计划任务之系统级 cron计划任务之用户级 1.安装crond centos7 执行命令: # yum install -y crontabs /bin/sys ...

  3. 《linux 计划任务》- cron

    一:什么是计划任务 - 你给手机定了一个闹钟,每天的 7:00 会准时响铃叫你起床,这实际上就是一个计划任务 - 所谓定时任务,就是在已经定好的特定时间去执行的事情. - Cron是一个[守护程序]用 ...

  4. 计划任务at cron

    计划任务作用:做一些周期性的任务,主要用于定时备份数据,同步时间,定时删除日志 所有计划任务执行的输出都会以邮件的方式发送给指定用户,除非重定向 (1)at:一次性调度执行 1)安装 yum inst ...

  5. centos7 计划任务简介

    概述 就像再windows上有计划任务一样,centos7 自然也有计划任务,而且设置更为灵活,好用.再centos7 上可以利用crontab 来执行计划任务, 依赖与 crond 的系统服务,这个 ...

  6. spring 计划任务:cron表达式

    Cron表达式是一个字符串,字符串以5或6个空格隔开,分开工6或7个域,每一个域代表一个含义,Cron有如下两种语法 格式: Seconds Minutes Hours DayofMonth Mont ...

  7. centos7 计划任务 crontab的使用

    #vim /etc/crontab #号代表以管理员身份运行. 将你要执行的脚本或者命令加进去,例如我的: SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr ...

  8. 计划任务cron

    cron 计划任务 作用: 计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据 Schedule one-time tasks with at. 一次性调度执行 atSchedule r ...

  9. 通过Linux系统Cron执行OwnCloud计划任务

    通过Linux系统Cron执行OwnCloud计划任务 02/02/2013 CRON的确是一个非常有用的功能,它有效减少了系统的负载,在将WordPress和StatusNet的任务计划都转换到Cr ...

随机推荐

  1. nyoj 28-大数阶乘 (大数模板)

    28-大数阶乘 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:19 submit:39 题目描述: 我们都知道如何计算一个数的阶乘,可是,如果这个数 ...

  2. nyoj 77-开灯问题 (倍数遍历)

    77-开灯问题 内存限制:64MB 时间限制:3000ms 特判: No 通过数:13 提交数:24 难度:1 题目描述: 有n盏灯,编号为1~n,第1个人把所有灯打开,第2个人按下所有编号为2 的倍 ...

  3. python3.7.1安装Scrapy爬虫框架

    python3.7.1安装Scrapy爬虫框架 环境:win7(64位), Python3.7.1(64位) 一.安装pyhthon 详见Python环境搭建:http://www.runoob.co ...

  4. vue在移动端实现复制数值到剪贴版

    实现按键就指定内容复制到设备的剪贴版,这里是复制快递单号 html <div slot="footer" v-if="express.number" st ...

  5. elementui 模态框 拖动

    第一步引入import elDragDialog from "@/directive/el-dragDialog";第二步 在export default中声明directives ...

  6. pynlp报错:pynlpir.LicenseError: Your license appears to have expired. Try running "pynlpir update"解决办法。

    使用pyltp做文本挖掘时报错: pynlpir.LicenseError: Your license appears to have expired. Try running "pynlp ...

  7. 【翻译】.NET Core3.1发布

    .NET Core3.1发布 我们很高兴宣布.NET Core 3.1的发布.实际上,这只是对我们两个多月前发布的.NET Core 3.0的一小部分修复和完善.最重要的是.NET Core 3.1是 ...

  8. vue 结合 Echarts 实现半开环形图

    Echarts 实现半开环形图 1.先看看实现的图 2.HTML部分 创建id 是 chart 的div标签. <div class="content-item"> & ...

  9. 【BZOJ4001】【Luogu P3978】 [TJOI2015]概率论

    题目描述: Description: Input 输入一个正整数N,代表有根树的结点数 Output 输出这棵树期望的叶子节点数.要求误差小于1e-9 Sample Input 1 Sample Ou ...

  10. .NET进阶篇06-async异步、thread多线程4

    知识需要不断积累.总结和沉淀,思考和写作是成长的催化剂 梯子 一.锁1.lock2.Interlocked3.Monitor4.SpinLock5.Mutex6.Semaphore7.Events1. ...