设置一次性任务计划: at
date 确认当前的系统时间
2018年 12月 29日 星期六 18:15:33 CST
-
在此计算机当前时间之后设置 “一次性任务计划:统计该时间点由root用户运行的进程”
例: at 23:59 2018-12-29
at>pgrep -U root | wc -l > /tmp/ps.root
ctrl +D (提交任务计划)验证:等待时候过后打开临时文件,检查有没有垃圾文件
cat /tmp/ps.root -
在当天的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
本文详细介绍了如何在Linux系统中使用at命令设置一次性任务计划,以及利用crontab进行周期性任务的配置。涵盖了从基本命令操作、任务计划的创建与管理,到crontab的高级使用技巧,如环境变量设定、执行路径定义及任务输出管理。
898

被折叠的 条评论
为什么被折叠?



