Linux - 计划任务
目录
为什么需要计划任务:
linux里的计划任务:
停止crond服务:
开启crond服务:
重启crond服务:
计划任务的格式:
练习:
添加计划任务:
同一时间可以做多个任务吗?
怎么终止计划任务?
怎么知道计划任务是否执行
笔试题目:
每个用户都有自己的计划任务
这个用户没有登录是否计划任务也会执行?
root用户是否可以去管理其他用户的计划任务?
如何排查你的机器里是否有黑客添加的计划任务? (笔试题)
那么linux系统后台的工作开展需要的计划任务存放在哪里?
anacron 服务
练习:
计划任务:
按照计划准时准点去执行任务 --》 计划任务
例:闹钟:早上八点叫我起床
游戏服务器资源分析:
为什么需要计划任务:
如何使用计划任务 --》 配置计划任务
可以自动执行,不需要人干预,解放了人力--》提高了效率
任何脚本都可以配合任务计划来执行
linux里的计划任务:
crond进程:负责linux里执行计划任务的程序,它是一直在运行的
每隔一分钟会检查下是否有任务执行。
使用crontab命令调用crond进程,设置按固定的周期(如每天,每周)重复执行预先计划好的任务。
[root@localhost /]# ps aux | grep crond
root 682 0.0 0.1 126384 1676 ? Ss 13:12 0:00 /usr/sbin/crond -n
root 1635 0.0 0.0 112824 988 pts/0 R+ 14:54 0:00 grep --color=auto crond
停止crond服务:
[root@localhost lianxi]# service crond stop
Redirecting to /bin/systemctl stop crond.service --》 centos8里面真正执行的命令
开启crond服务:
[root@localhost lianxi]# service crond start
Redirecting to /bin/systemctl start crond.service --》 centos8里面真正执行的命令
重启crond服务:
[root@localhost lianxi]# service crond restart
Redirecting to /bin/systemctl restart crond.service --》 centos8里面真正执行的命令
crondtab 是创建计划任务的命令
计划任务的格式:
在 /etc/crontab里面可以查看创建计划任务的格式
-----------------------------------------------------------------------
练习:
1.每个1分钟新建一个文件夹,这个文件里面需要包含当前时间,精确到秒
2.新建的文件夹存放在 /lianxi/sanchuang
需求分析:
1.编写脚本实现新建文件夹,名字里包含当前的时间,精确到秒
2.脚本名字creat_dir.sh 存放在 /lianxi/sanchuang
3.指定计划任务 实现每一分钟执行上面的creat_dir.sh脚本
[root@localhost lianxi]# cat creat_dir.sh
#! /bin/bashnowtime=$(date +%F-%H-%M-%S)
cd /lianxi/sanchuang
mkdir $nowtime
添加计划任务:
[root@localhost lianxi]# crontab -e
*/1 * * * * bash /lianxi/creat_dir.sh --》每分钟执行一次脚本效果:
[root@localhost sanchuang]# ls
2022-01-27-20-09-01 2022-01-27-20-12-01 2022-01-27-20-15-01
2022-01-27-20-10-01 2022-01-27-20-13-01 2022-01-27-20-16-02
2022-01-27-20-11-01 2022-01-27-20-14-01 2022-01-27-20-17-01
手机里面可以点多个闹钟,linux里面也可以定制很多计划任务
一行计划任务
同一时间可以做多个任务吗?
可以,一行一个计划任务,但是时间点可以是一样的
也可以都写到一个脚本里面,直接做一个计划任务
建议:最好不要同时做很多事情,会在一个时间点消耗服务器的cpu,内存,磁盘,带宽等资源,会给服务器制造很大的压力。
怎么终止计划任务?
可以把计划任务直接注释掉,或者直接删除掉
crontab 的日志文件
记录哪些计划任务的生产,执行,修改等操作
/var/log/cron
使用tail -f来监控cron文件的动态
Jan 27 20:41:01 localhost CROND[2388]: (root) CMD (bash /lianxi/creat_dir.sh)
Jan 27 20:41:02 localhost crontab[2392]: (root) LIST (root)
Jan 27 20:41:08 localhost crontab[2393]: (root) BEGIN EDIT (root)
Jan 27 20:41:17 localhost crontab[2393]: (root) REPLACE (root)
Jan 27 20:41:17 localhost crontab[2393]: (root) END EDIT (root)
crontab[2393] 是crond的进程号 pid号
CMD 表示执行命令 command
BEGIN EDIT 开始编辑
REPLACE 修改
END EDIT 结束编辑
怎么知道计划任务是否执行
1.直接去看
2.看日志文件
笔试题目:
考计划任务的格式
1.每周1,5,7的23:40分执行
40 23 * * 1,5,7
2.每个月的1号20:30分
30 20 1 * *
3.每隔5分钟
*/5 * * * *
4.每隔1小时
0 */1 * * *
5.星期一到星期五的18:00
0 18 * * 1-5
6.每隔3天,13:58执行
58 13 */3 * *
7.每个月的1,10,15,20,25号的2:30
30 2 1,10,15,20,25 * *
每个用户都有自己的计划任务
[root@localhost log]# cd /var/spool/cron/
[root@localhost cron]# ls --》建立计划任务的用户都会有一个文件存储他们的计划任务 --》 linux 里面一切皆文件
root shimengmeng zhaojunjie
查看每个用户的计划任务:
[root@localhost cron]# cat zhaojunjie
*/1 * * * * mkdir -p ~/$(date +%F-%H-%M-%S).zhaojunjie
[root@localhost cron]# cat root
*/1 * * * * bash /lianxi/creat_dir.sh
[root@localhost cron]# cat shimengmeng
*/1 * * * * mkdir -p ~/$(date +%F-%H-%M-%S).shimengmeng
这个用户没有登录是否计划任务也会执行?
[root@localhost lianxi]# useradd zhaojunjie
[root@localhost lianxi]# useradd shimengmeng
[root@localhost lianxi]# su - zhaojunjie
[zhaojunjie@localhost ~]$ crontab -e
*/1 * * * * bash /lianxi/creat_dir.sh[zhaojunjie@localhost ~]$ exit
登出[root@localhost lianxi]# su - shimengmeng
上一次登录:四 1月 27 22:05:04 CST 2022pts/1 上
[shimengmeng@localhost ~]$ crontab -e
*/1 * * * * mkdir -p ~/$(date +%F-%H-%M-%S).shimengmeng
[shimengmeng@localhost ~]$ exit
登出
监控查看计划任务日志文件
[root@localhost lianxi]# cd /var/log
[root@localhost log]# tail -f cron
Jan 27 22:34:01 localhost CROND[3874]: (shimengmeng) CMD (mkdir -p ~/$(date +)
Jan 27 22:34:01 localhost CROND[3872]: (zhaojunjie) CMD (bash /lianxi/creat_dir.sh)
Jan 27 22:34:01 localhost CROND[3873]: (root) CMD (bash /lianxi/creat_dir.sh)
Jan 27 22:35:01 localhost crond[1740]: (shimengmeng) RELOAD (/var/spool/cron/shimengmeng)
Jan 27 22:35:02 localhost CROND[3895]: (shimengmeng) CMD (bash /lianxi/creat_dir.sh)
Jan 27 22:35:02 localhost CROND[3896]: (zhaojunjie) CMD (bash /lianxi/creat_dir.sh)
Jan 27 22:35:02 localhost CROND[3897]: (root) CMD (bash /lianxi/creat_dir.sh)
Jan 27 22:36:01 localhost CROND[3919]: (shimengmeng) CMD (bash /lianxi/creat_dir.sh)
Jan 27 22:36:01 localhost CROND[3921]: (zhaojunjie) CMD (bash /lianxi/creat_dir.sh)
Jan 27 22:36:01 localhost CROND[3922]: (root) CMD (bash /lianxi/creat_dir.sh)
可以看到虽然用户已经退出,但是计划任务依旧在执行
root用户是否可以去管理其他用户的计划任务?
root用户可以直接在/var/spool/cron 里面编辑用户的计划任务。
默认情况下,只有root用户可以查看别的用户的计划任务,普通用户只可以看自己的计划任务
如何排查你的机器里是否有黑客添加的计划任务? (笔试题)
到/var/spool/cron目录下查看是否有可疑的计划任务文件,然后查看root用户本身的计划任务,是否有可疑的脚本执行
防止黑客搭计划任务的顺风车,
计划任务的顺风车:--》linux系统本身也有一些任务需要定时完成的
日志文件的更新:每隔一段时间产生一个新的日志文件
updatedb --》 locate
/var/spool/cron 是存放用户自己的计划任务
那么linux系统后台的工作开展需要的计划任务存放在哪里?
[root@localhost lianxi]# cd /etc/cron.cron.d/ cron.deny cron.monthly/cron.daily/ cron.hourly/ cron.weekly/
/etc/下面的这些文件夹里可以存放linux系统的计划任务
cron.daily/ : 每天要执行的计划任务
[root@localhost cron.daily]# ls
logrotate man-db.cron mlocate
黑客有可能将木马程序放到这些linux自己每天自动执行的计划任务里面去。
cron.hourly/ : 存放linux系统每小时需要执行的任务
cron.weekly/: 存放linux系统每周需要执行的计划任务
cron.monthly/ :存放linux系统每月需要执行的计划任务
cron.deny: 存放linux系统拒绝谁执行的计划任务
anacron 服务
弥补cron在系统关机后不能执行计划任务的问题
例如:
23:00要执行一个备份文件
在22:58分机器突然关机了
1:00机器开机
那么anacron服务就会自动的为我们执行在关机期间没有执行的计划任务
不能替代cron
按天,周,月为单位去检查系统未进行的cron任务
/var/spool/anacron
服务名称: /etc/init.d/anacrond
开机时自动运行,然后将未执行的计划任务执行一遍以后,anacron会自动停止
[root@localhost lianxi]# vim /etc/anacrontab
为循环计划任务收拾残局的
anacron
前台:我们看得到的界面
后台:linux的背后执行 --》我们看不到
[root@localhost lianxi]# vim /etc/anacrontab
正常情况下我们打开vim编辑器是在前台运行的
在命令后面接一个&符号就可以让它转到后台
[root@localhost lianxi]# vim zhaojunjie.txt &
[1] 2116
[root@localhost lianxi]# ps aux | grep vim
root 2116 0.1 0.4 147208 4764 pts/0 T 12:34 0:00 vim zhaojunjie.txt
root 2118 0.0 0.0 112824 988 pts/0 R+ 12:34 0:00 grep --color=auto vim
[1]+ 已停止 vim zhaojunjie.txt
练习:
1.每天早上7:50执行脚本/lianxi/mkdir_file.sh 22:50时执行/lianxi/create_file.sh
50 7 * * * bash /lianxi/mkdir_file.sh
50 22 * * * bash /lianxi/create_file.sh
2.每隔5天的12点清空一次/backup_tmp公共目录
0 12 */5 * * rm -rf /backup_tmp
3.每周六的7:30,重新启动ssh服务
30 7 * * 6 service ssh restart
4.每周1,3,5,的17:30执行脚本 /lianxi/abc.sh
30 17 * * 1,3,5, bash /lianxi/abc.sh
5.新建目录/backcup 作为后面需要备份文件的目录
备份/etc/passwd , /var/log ,/boot到backup目录下面打包叫
2022-1-27_pwd_log_boot.tar.xz 文件名里加日期年月日就行
每天的23:00备份一次,使用计划文件执行
保留最近20天的文件,20天以前的文件删除
脚本名字叫 backup_pwd_boot_log.sh
Linux - 计划任务相关推荐
- linux的周期计划任务叫atd,linux计划任务
一.单一计划任务 安装at: # yum -y install at 启动: # /etc/init.d/atd start 查看是否运行: # ps aux | grep atd 创建计划 # at ...
- linux计划任务执行bin文件,Linux任务计划和周期性任务执行
linux计划任务有两类 at:未来某个时间点仅执行一次任务就结束的指令,at指令执行时必须要有atd这个服务支持. crontab:可以以时间单位为分钟,小时,每天,每周,每月,每年等循环执行某任务 ...
- linux的任务计划6,Linux计划任务
Linux计划任务: 未来的某个时间执行一次任务,或者周期性执行某个任务,执行结果会通过邮件通知 定时任务:at batch 周期性任务:crontab 系统任务调度:/ect/crontab 用户任 ...
- 云计算实战系列十三(Linux计划任务)
Linux计划任务 知识点: · 循环调度执行 cron 用户级 · 企业应用项目实战(cron) · /etc/crontab · 日志的重要性 · rsyslog 日志管理 · logrotate ...
- linux计划任务一小时,linux,计划任务,每小时执行一次(共7篇).docx
linux,计划任务,每小时执行一次(共7篇) Linux下的计划任务命令小结 在UNIX下怎样实现和Windows下"计划任务"一样的功能 $crontab-e编辑脚本 $cro ...
- Linux计划任务-定时任务
Linux计划任务-定时任务 at单次计划任务 at命令格式 查看at任务 取消at计划任务 创建1分钟后的单次任务 定时任务分类 cron`系统任务调度` /etc/crontab文件格式 用户任务 ...
- Linux计划任务要怎么弄?
Linux计划任务是指在Linux系统中自动执行某些命令或程序的功能.Linux计划任务通常是被以下类型的人所需要的: 系统管理员:他们可以使用计划任务定期执行系统维护任务,例如备份数据.清理日志文件 ...
- Linux计划任务、周期性任务执行
Linux计划任务 邮件服务 本地电子邮件服务 maill命令 邮件正文 实例 at命令 参数 TIME格式 实例 cron计划任务 任务分类 系统cron任务 系统crontab配置格式 用户cro ...
- win10 / linux计划任务
不论是windows还是linux,都可以通过系统自带的计划任务工具配置自动运行程序,协助我们更好地管理工具.下面简单介绍一下window和linux计划任务的配置. win10计划任务: 1.写好需 ...
- Linux计划任务at和cron命令的使用
文章目录 前言 什么是计划任务? 一次性调度执行at 简介 服务启动 语法 参数: 示例 提交at作业 提交步骤 时间选择格式 示例 查看任务 示例 查看任务执行日志 示例 删除任务 示例 循环调度执 ...
最新文章
- pytorch BiLSTM+CRF代码详解 重点
- vc6.0开发环境两个辅助工具
- JS:js 数组赋值问题 :值传递还是引用?
- 为了OFFER而战,大四那些日子在牛客网和Leetcode刷SQL题目
- Boost:自定义静态向量
- 中英翻译(基于百度翻译)
- ffmpeg libx264_nginx+ffmpeg搭建流媒体服务器(直播流)
- 关闭加速渲染_“瀑布屏”旗舰 摩托罗拉Edge+渲染图曝光,Moto G8正式发布
- hrm系统源码php,悟空HRM下载_悟空HRM0.1开源版 - 系统之家
- Ureport2 ---报表设计(2)--报表计算模型
- 华为重度渗透的欧洲,美国如何清剿?
- 使用线程实现电子时钟
- uni-app系列(二):uniapp 项目引入 uView 并简单使用
- 沙河之痛——河南鲁山县沙河非法采砂遥感影像分析
- 【答学员问】- 该如何根据岗位学习相关技能
- TCP吞吐量的理论计算公式
- 跨平台SCADA系统(组态软件)开发1
- 学习和使用UE4的第一步——安装和介绍Epic Games客户端和虚幻引擎
- LocalCache本地缓存分享
- PTA - 简单计算器