用at命令编写简单的计划任务/cron计划任务

***一为什么要用计划任务?它的好处是什么?
在linux系统中我们经常需要将某些命令或脚本放入计划任务中去执行。
例如:服务器在白天的访问量一般比较大,而服务器在承受着巨大访问压力的同时对其进行全备份是不合适的,这时就可以考虑将备份工作放入系统计划任务,这样系统可以在夜间访问量小的时候自动执行备份任务。

LInux系统中的两种计划任务

1.at 一次性计划任务:只会执行一次
at命令的作用和用法如下
系统服务:atd
描述:在指定的时间执行特定命令
用法:at 时间
选项:-m 当计划任务执行后发送邮件给用户
-l 查看用户计划任务
-d 删除用户计划任务
-c 查看at计划任务具体内容

使用at制定一次性计划任务前:
先还原环境再远程连接虚拟机
systemctl start atd //确保atd服务是开启的
systemctl enable atd //确保服务开机启动

示列:指定一个当天23点11分执行的计划任务

 *]# at 23:11
        > tar -jcf  log.tar.bz2 /var/log     //计划任务内容
        > hahaxixi             //计划任务 /可以输入多条命令                    
                                   //输入完毕后按ctrl+D快捷健结
        **> **       

 

   job 1 at Tue Apr  9 23:11:  00 2019          //系统提示有编号为1的计划任务
   ] #al -l(字母)                             //查看系统任务
   ] #al -c 1                                 //查看编号1具体内容
   ] #al -d 1                               //删除编号为1的任务**

2.cron计划任务:可以周期性执行,比较常用
软件包:cronie ,crontabs
系统服务:crond
日志文件:/var/logcrond
cron作用:为每个用户为维护周期性的计划任务文件
编辑格式: crontab -e [-u 用户名]
选项: -u 指定计划任务的用户,默认为当前用户
-l 查看计划任务
-r 删除计划任务
-e 编辑计划任务
-i 使用-r删除计划任务时,要求用户确认删除

格式:分 时 日 月 周 命令 (绝对路径)
* * * * * 命令

3.自定义计划任务存放路径:
/etc/cron.daily 可直接存放脚本,系统自动运行
/etc/cron.hourly
/etc/cron.weeky

制定cron计划任务前确保crond服务开启
#systemctl start crond //确保服务是开启的
#systemctl enable crond //确保服务开机启动

**]# crontab -e 
11 23 * * 5  tar -czf log.tar.bz2 /var/log                //每周五执行日志备份
00 */3 * * *  who                                           //每3小时的整点检查用户登录情况
00 10  * * 3,5 free | mail -s “MEm"  server0.example.com**     //每周三,周五10点将系统内存信息发送给自己的邮箱
:wq

4.制定****周期性计划任务
为用户natasha配置一个定时任务
-每天在本地时间14:23执行
-需要完成的任务操作为 /bin/echo hiya
步骤一:配置crontab任务记录
(1)启动系统服务

]# systemctl start crond                      //确保服务可用

] # systemctl enable crond

(2)制定计划任务,创建用户

  ]#useradd natasha                      //创建用户
      
  ]# crontab -e -u    natasha           //配置任务
        23 14 * * * /bin/echo hiya   

步骤二:检查任务是否执行
1)将系统日期时间临时调整到任务时间点前10秒左右
2)等待10秒后查看/var/log/cron日志,应该会有执行记录
3)恢复系统日期时间

**]# date -s 14:33

]# vim /var/log/cron**

总结:cron计划任务可以和脚本搭配,可以实现一些自动化任务,提高工作效率

你可能感兴趣的:(cron计划任务,运维,linux)