设置一次性任务计划 crontab,at

设置一次性任务计划: at

​ date 确认当前的系统时间
​ 2018年 12月 29日 星期六 18:15:33 CST

  1. 在此计算机当前时间之后设置 “一次性任务计划:统计该时间点由root用户运行的进程”
    例: at 23:59 2018-12-29
    at>pgrep -U root | wc -l > /tmp/ps.root
    ctrl +D (提交任务计划)

    验证:等待时候过后打开临时文件,检查有没有垃圾文件
    cat /tmp/ps.root

  2. 在当天的21:30分自动关闭操作系统
    date
    at 21:30
    ac> shutdown -h now
    at> ctrl +d
    查询还没有执行的任务:atq
    删除还没有执行的任务:atrm :查看当前还没有执行的命令序号:atq
    6 Sun Dec 30 02:33:00 2018 a root
    删除序列号 : atrm 6


crontab 周期性任务设置

设置周期性任务的前提条件:crond系统服务必须执行

/etc/crontab ;系统任务配置文件
/etc/cron.d ;系统任务目录
/var/spool/cron ;用户cron任务的配置文件


一:crontab的配置文件与目录

/etc/crontab----系统任务配置文件 查看配置文件: cat /etc/crontab
该文件中包括设置shell环境,可执行路径,以及每小时,每天,每周,每月需要执行的任务目录

[root@localhost ~]# cat /etc/crontab
SHELL=/bin/bash 设置执行计划任务的shell环境
PATH=/sbin:/bin:/usr/sbin:/usr/bin 定义可执行命令以及程序的路径
MAILTO=root 将任务输出到指定用户的邮箱


二:/var/spool/cron ; 用户cron(任务计划)的配置文件存放目录

不同用户的cron任务计划配置文件: ls -l /var/spool/cron/*

例如 tom 用户 : /var/spool/cron/tom


三:使用crontab命令管理用户的计划任务

crontab 常用选项:
-e 编辑计划任务列表
-u 指定所管理的任务计划属于哪个用户
-l 列表显示计划任务
-r 删除计划任务列表

* 代表任意时间
分钟取值:0~59的任意数值
小时取值:0~59的任意数值
日期取值:1~31的任意数值
月份取值:1~12的任意数值
星期取值:0~7的任意数值

命令: 可以是普通的命令,也可以是自己编写的脚本目录位置

  • - 减号 :可以表示一个连续的时间范围,比如:1-4
  • ,逗号 :可以表示一个间隔不连续的范围,比如:3,6,8,10
  • / 撇斜杠:指定间隔频率 ,比如 */3(表示每隔3天)


举例:

每分钟执行一次

* * * * * sh /usr/local/pushgateway/waiting_connection.sh


每10秒中执行一次

* * * * * sh /usr/local/pushgateway/waiting_connection.sh
* * * * * sleep 10; sh /usr/local/pushgateway/waiting_connection.sh
* * * * * sleep 20; sh /usr/local/pushgateway/waiting_connection.sh
* * * * * sleep 30; sh /usr/local/pushgateway/waiting_connection.sh
* * * * * sleep 40; sh /usr/local/pushgateway/waiting_connection.sh
* * * * * sleep 50; sh /usr/local/pushgateway/waiting_connection.sh

1.每天早上7:50自动开启sshd服务 ;22:50关闭sshd服务

50 7 * * * /usr/bin/systemctl start sshd.service
50 22 * * * /usr/bin/systemctl stop sshd.service


2.每隔五天清空一次FTP服务器公共目录/var/ftp/pub

0 0 */5 * * /usr/bin/rm -rf /var/ftp/pub


3.每周六的7:30分重启系统中的httpd服务

30 7 * * 6 /usr/bin/systemctl restart httpd.service

4.每周一,周三,周五,下午18:00用tar命令备份/var日志文件

0 18 * * * 1,3,5 /usr/bin/tar -zcvf var.tar.gz1 /var

5.查看当前用户所有设置好的任务计划 :

crontab -l
或 : ls -l /var/spool/cron/* ls -l /var/spool/cron


6.查看指定用户的所有设置好的任务计划

crontab -l -u zs


7…删除任务计划

crontab -r
验证: crontab -l

你可能感兴趣的:(其他,centos,运维)