linux_计划任务

Rosalba ·
更新时间:2024-11-13
· 875 次阅读

linux 计划任务
计划任务主要做一些周期性的任务
目前主要用于备份数据
简介
一次性调度 at Schedule one-time tasks with at.
循环调度执行 cron Schedule recurring jobs with cron.
实例
一次性调度执行
语法 at
[root@BJcoud_computing_hp_hao ~]# at now +5min 5分钟之后
[root@BJcoud_computing_hp_hao ~]# at teatime tomorrow 下午茶 16:00
[root@BJcoud_computing_hp_hao ~]# at 5pm august 4 2020 2020年8月4日下午5点
[root@BJcoud_computing_hp_hao ~]# at 13:00 2020-12-12 2020年12月12日 13:00
例1

[root@BJcoud_computing_hp_hao ~]# at now +1min at> useradd hao at> job 8 at Wed Feb 26 18:43:00 2020

查询 atq

[root@BJcoud_computing_hp_hao ~]# atq 3 Thu Feb 27 16:00:00 2020 a root 4 Thu Feb 27 16:00:00 2020 a root 5 Thu Feb 27 16:00:00 2020 a root 9 Wed Feb 26 18:48:00 2020 a root

循环调度执行
cron的概念和crontab是不可分割的。
crontab是一个命令,常见于Unix和Linux的操作系统之中
用于设置周期性被执行的指令。
该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。
查看crond 进程状态

[root@BJcoud_computing_hp_hao ~]# systemctl status crond.service ● crond.service - Command Scheduler Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2020-02-26 17:46:02 CST; 1h 2min ago Main PID: 1264 (crond) CGroup: /system.slice/crond.service └─1264 /usr/sbin/crond -n Feb 26 17:46:02 localhost.localdomain systemd[1]: Started Command Scheduler. Feb 26 17:46:02 localhost.localdomain crond[1264]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 16% if used.) Feb 26 17:46:02 localhost.localdomain crond[1264]: (CRON) INFO (running with inotify support) [root@BJcoud_computing_hp_hao ~]# ps aux | grep crond root 1264 0.0 0.0 126292 1404 ? Ss 17:46 0:00 /usr/sbin/crond -n root 72139 0.0 0.0 112716 960 pts/0 S+ 18:50 0:00 grep --color=auto crond

计划任务存储位置

[root@BJcoud_computing_hp_hao ~]# cd /var/spool/cron/

管理方式
创建计划
crontab -e Edit jobs for the current user
查询计划
crontab -l List the jobs for the current user
管理员可以使用 -u username, 去管理其他用户的计划任务
删除计划
crontab -r Remove all jobs for the current users.
案例
创建计划任务
格式 * * * * * command

*/5 * * * * /mysql_back.sh 每五分钟执行 0 2 1,4,6 * * /mysql_back.sh 每月的1,4,6日的2点整执行 0 2 5-9 * * /mysql_back.sh 每月5日到9日的两点整执行 * * * * * /mysql_back.sh 每分钟执行 0 * * * * /mysql_back.sh 每小时的0分执行 0 2 * * * /mysql_back.sh 每天两点整执行 0 2 14 * * /mysql_back.sh 每月14号的2点整执行 0 2 14 2 * /mysql_back.sh 2月14日2点整执行 0 2 * * 5 /mysql_back.sh 不写月日,仅周生效每月的周五,两点执行 0 2 2 6 5 /mysql_back.sh 书写月和日,月或日,月日周均生效 6月2日的两点整执行 6月的周五两点整执行 [root@BJcoud_computing_hp_hao ~]# crontab -e 进入编辑模式 输入要执行的任务 * * * * * ls /tmp */5 * * * * useradd maha 1 3 12 4 * ls /home 保存退出

查询计划任务

[root@BJcoud_computing_hp_hao ~]# crontab -l * * * * * ls /tmp */5 * * * * useradd maha 1 3 12 4 * ls /home

删除计划任务

[root@BJcoud_computing_hp_hao ~]# crontab -r
作者:estarhao



计划任务 Linux

需要 登录 后方可回复, 如果你还没有账号请 注册新账号