目录

为什么需要计划任务:

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 - 计划任务相关推荐

  1. linux的周期计划任务叫atd,linux计划任务

    一.单一计划任务 安装at: # yum -y install at 启动: # /etc/init.d/atd start 查看是否运行: # ps aux | grep atd 创建计划 # at ...

  2. linux计划任务执行bin文件,Linux任务计划和周期性任务执行

    linux计划任务有两类 at:未来某个时间点仅执行一次任务就结束的指令,at指令执行时必须要有atd这个服务支持. crontab:可以以时间单位为分钟,小时,每天,每周,每月,每年等循环执行某任务 ...

  3. linux的任务计划6,Linux计划任务

    Linux计划任务: 未来的某个时间执行一次任务,或者周期性执行某个任务,执行结果会通过邮件通知 定时任务:at batch 周期性任务:crontab 系统任务调度:/ect/crontab 用户任 ...

  4. 云计算实战系列十三(Linux计划任务)

    Linux计划任务 知识点: · 循环调度执行 cron 用户级 · 企业应用项目实战(cron) · /etc/crontab · 日志的重要性 · rsyslog 日志管理 · logrotate ...

  5. linux计划任务一小时,linux,计划任务,每小时执行一次(共7篇).docx

    linux,计划任务,每小时执行一次(共7篇) Linux下的计划任务命令小结 在UNIX下怎样实现和Windows下"计划任务"一样的功能 $crontab-e编辑脚本 $cro ...

  6. Linux计划任务-定时任务

    Linux计划任务-定时任务 at单次计划任务 at命令格式 查看at任务 取消at计划任务 创建1分钟后的单次任务 定时任务分类 cron`系统任务调度` /etc/crontab文件格式 用户任务 ...

  7. Linux计划任务要怎么弄?

    Linux计划任务是指在Linux系统中自动执行某些命令或程序的功能.Linux计划任务通常是被以下类型的人所需要的: 系统管理员:他们可以使用计划任务定期执行系统维护任务,例如备份数据.清理日志文件 ...

  8. Linux计划任务、周期性任务执行

    Linux计划任务 邮件服务 本地电子邮件服务 maill命令 邮件正文 实例 at命令 参数 TIME格式 实例 cron计划任务 任务分类 系统cron任务 系统crontab配置格式 用户cro ...

  9. win10 / linux计划任务

    不论是windows还是linux,都可以通过系统自带的计划任务工具配置自动运行程序,协助我们更好地管理工具.下面简单介绍一下window和linux计划任务的配置. win10计划任务: 1.写好需 ...

  10. Linux计划任务at和cron命令的使用

    文章目录 前言 什么是计划任务? 一次性调度执行at 简介 服务启动 语法 参数: 示例 提交at作业 提交步骤 时间选择格式 示例 查看任务 示例 查看任务执行日志 示例 删除任务 示例 循环调度执 ...

最新文章

  1. pytorch BiLSTM+CRF代码详解 重点
  2. vc6.0开发环境两个辅助工具
  3. JS:js 数组赋值问题 :值传递还是引用?
  4. 为了OFFER而战,大四那些日子在牛客网和Leetcode刷SQL题目
  5. Boost:自定义静态向量
  6. 中英翻译(基于百度翻译)
  7. ffmpeg libx264_nginx+ffmpeg搭建流媒体服务器(直播流)
  8. 关闭加速渲染_“瀑布屏”旗舰 摩托罗拉Edge+渲染图曝光,Moto G8正式发布
  9. hrm系统源码php,悟空HRM下载_悟空HRM0.1开源版 - 系统之家
  10. Ureport2 ---报表设计(2)--报表计算模型
  11. 华为重度渗透的欧洲,美国如何清剿?
  12. 使用线程实现电子时钟
  13. uni-app系列(二):uniapp 项目引入 uView 并简单使用
  14. 沙河之痛——河南鲁山县沙河非法采砂遥感影像分析
  15. 【答学员问】- 该如何根据岗位学习相关技能
  16. TCP吞吐量的理论计算公式
  17. 跨平台SCADA系统(组态软件)开发1
  18. 学习和使用UE4的第一步——安装和介绍Epic Games客户端和虚幻引擎
  19. LocalCache本地缓存分享
  20. PTA - 简单计算器

热门文章

  1. smartdns使用指南_OpenWrt之SmartDNS 使用教程(PLUS+版)
  2. 在网页中实现录音功能
  3. 酒业头条信息流投放评估
  4. julia 使用修改后的pkg
  5. 【模拟考勤打卡程序vim报错分享】
  6. PLC状态机编程第一篇-状态机介绍
  7. 松下A6驱动面板操作参数设置与保存
  8. Java ssm框架是什么?
  9. x509证书有效期校验过程_基于TLS1.2(GmSSL)
  10. [计算机网络]七、IP地址规划和静态路由