✏️
安全运维
  • 目录
  • 常用命令速查手册
    • LINUX 命令总结
  • Linux--CentOS
    • 实战案例
      • 进入CentOS 7紧急模式,恢复root密码
      • 创建一个让root都无法删除的文件
      • tar源码包管理及srpm源码包安装方法
      • 找出系统中使用CPU最多的进程
      • 使用screen执行备份命令
      • 扩展Swap分区
      • 解决磁盘有空间但创建不了文件及修复文件系统问题
      • 修复服务器文件系统
      • 自定义ssh服务的日志类型和存储位置
      • 日志切割及搭建远程日志收集服务器
      • 配置公司内网服务器每天定时自动开关机
    • 基础知识
      • Linux的目录结构
      • 系统时间管理
      • 关机、重启命令及7个运行级别
      • passwd、shadow 文件
    • 基础命令
      • 帮助命令
      • ping 命令
      • ls 命令
      • alias 命令
      • history 命令
      • Linux中的快捷键
      • Untitled
      • Untitled
    • 基础配置
      • 安装中文版man手册
      • 网卡配置
      • 关闭防火墙并设置开机不启动防火墙
      • 临时和永久关闭SELinux
      • 配置本地YUM源
    • 文件管理
      • touch 命令
      • VIM 命令
      • cp 命令
      • mv 命令
    • 文件查看
      • cat 命令
      • more 命令
      • less 命令
      • head 命令
      • tail 命令
      • sort 命令
    • 用户和用户组管理
    • 文件权限管理
      • 文件基本权限
      • 文件的特殊权限:SUID、SGID、STicky及文件扩展权限ACL
    • 程序包的管理与安装
      • Yum的使用
    • 文件的压缩和归档
    • 系统进程管理
      • uptime命令查看系统负载
      • top 命令动态管理进程
      • lsof 命令
      • pstree 命令
      • 进程前、后台切换及优先级管理
    • 重定向和文件的查找
      • 文件描述符
      • 重定向的含义及管道、tee命令的使用
      • 查找文件的常用命令及应用
      • 命令判断——3个特殊符号“;”“﹠﹠”“||”
    • 磁盘介绍及管理
      • 磁盘分区工具和挂载
    • 文件系统结构
      • 文件系统结构
      • 文件的硬链接和软链接
      • 使用ln命令创建文件的链接
    • RAID的原理与搭建
      • RAID常用类型搭建和使用,以及注意事项
    • LVM管理和SSM工具的使用
      • 创建LVM的基本步骤
      • SSM工具
    • Linux计划任务与日志的管理
      • 日志的种类和记录的方式
    • 文件共享服务
      • NFS 的安装与使用
      • Samba 的安装与使用
      • CentOS 7.6 安装和配置samba文件共享服务
      • FTP 的安装与使用
      • proftpd
  • 安全加固
    • Windows 安全加固
    • WebLogic 安全加固
    • Apache 安全加固
    • Tomcat 安全加固
    • MySql 安全加固
    • PHP 安全加固
    • SSH 安全加固
    • IIS 安全加固
  • 基线检查
    • DB2数据库基线检查策略
    • MySQL数据库基线检查策略
    • Oracle10g数据库基线检查策略
    • Sybase数据库基线检查策略
    • MSSQL 2008 基线检查策略
    • Jboss7 基线检查策略
    • Apache 基线检查策略
    • Tomcat 基线检查策略
    • 基线检查策略
  • ClamAV
  • iptables
由 GitBook 提供支持
在本页
  • at计划任务及crontab定时任务的使用方法
  • at计划任务的使用
  • crontab定时任务的使用
  • 系统级别的计划任务。
  • 实战:常见的计划任务写法和案例

这有帮助吗?

  1. Linux--CentOS

Linux计划任务与日志的管理

at计划任务及crontab定时任务的使用方法

Linux系统可以通过提前做一些设置,来让计算机定时替我们执行一些命令,这被称为定时任务。而遇到一些临时需要执行的事情或任务时,可以通过命令告诉计算机把这个事情或任务做一下。

在Linux中,可以通过crontab和at命令来实现这些功能。

计划任务的作用:做一些周期性的任务,在生产中主要用来定期备份数据。

任务调度分两种:系统任务调度、用户任务调度。

计划任务的安排方式分两种:一种是突发性的,就是这个任务是临时决定的,只执行一次,这种计划任务在Linux中被称为at计划任务。另一种是定时性的,也就是每隔一定的周期就要重复执行,也称为周期性的计划任务,即crontab计划任务。

at计划任务的使用

命令使用格式:at 时间

使用at命令,需要开启atd服务。

systemctl start atd #开启atd 服务
systemctl is-enabled atd  #查看是否开机启动atd服务

CentOS 6中查看开机启动服务使用chkconfig命令
chkconfig--list | grep atd

1.使用at创建计划任务

[root@testhost ~]# date #查看系统时间
Fri Jul 23 10:10:04 CST 2021
[root@testhost ~]# at 10:11:30
syntax error. Last token seen: :
Garbled time
[root@testhost ~]# at 10:11
at> mkdir at_test
at> <EOT>               #结束:按CTRL+d 组合键
job 1 at Fri Jul 23 10:11:00 2021
[root@testhost ~]# date
Fri Jul 23 10:11:07 CST 2021
[root@testhost ~]# ll
total 38492
-rw-r--r--  2 root root        6 Jul 19 15:51 1_ln.txt
-rw-r--r--  2 root root        6 Jul 19 15:51 1.txt
-rw-r--r--  1 root root      328 Jul 14 15:30 2.txt
drwxr-xr-x  2 root root     4096 Jul 23 10:11 at_test
-rw-r--r--  1 root root       49 Jul 14 15:16 a.txt
drwxr-xr-x 10 root root     4096 Jun 25 15:05 denyhosts

2. 查看计划任务

[root@testhost ~]# date
Fri Jul 23 10:13:26 CST 2021
[root@testhost ~]# at 10:16
at> mkdir at_test_2                #创建计划任务
at> <EOT>
job 2 at Fri Jul 23 10:16:00 2021
[root@testhost ~]# at -l           #查看计划任务
2	Fri Jul 23 10:16:00 2021 a root
[root@testhost ~]# atq             #查看计划任务
2	Fri Jul 23 10:16:00 2021 a root
[root@testhost ~]# 

问:如果正在执行命令,需要按Ctrl+d组合键,若按成Ctrl+s组合键会怎么样?

解决:按Ctrl+s组合键在Linux下是锁定屏幕显示的意思,这时整个屏幕被锁定,不能进行正常输入。按Ctrl+q组合键可以解除锁定。

3.删除at将要执行的计划任务

使用 atrm id

[root@testhost ~]# atq
4	Fri Jul 23 11:30:00 2021 a root
[root@testhost ~]# atrm 4
[root@testhost ~]# atq
[root@testhost ~]# 

4. at计划任务的特殊写法

crontab定时任务的使用

Crond服务是Linux系统中用来定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。

cron是一个Linux下的定时执行工具,可以在无须人工干预的情况下运行作业。

Linux系统执行任务调度的工作主要是系统周期性所要执行的工作,如更新whatis数据库、更新updatedb数据库、日志定期切割、收集系统状态信息、/tmp目录定期清理等,这些工作都是通过crond服务来完成的。

启动crond服务

启动crond服务:
systemctl start crond
systemctl enable crond      

1.crontab命令参数介绍

crontab命令的参数如下:
(1)crontab -u hr:指定hr用户下的cron服务。
(2)crontab -l:列出当前用户下的cron服务的详细内容。
(3)crontab -u mk -l:列出mk用户下的cron服务的详细内容。
(4)crontab -r:删除cron服务。
(5)crontab -e:编辑cron服务。

例如:

crontab -u root -l:root用户查看自己的cron计划任务。

crontab -u san -r:root用户想删除san用户下的cron计划任务。

crontab -e编辑cron服务时的写法及格式如图:

星期日用0或7表示。一行对应一个任务,特殊符号的含义如表

2.创建计划任务

每天凌晨2点1分开始备份数据

[root@testhost ~]# crontab -e  #添加任务计划
1 2 * * * tar zcvf /opt/grub2.tar.gz /boot/grub2
[root@testhost ~]# cromtab -l  #查看任务计划
1 2 * * * tar zcvf /opt/grub2.tar.gz /boot/grub2

客以非root用户添加计划任务。最好使用已经存在的系统用户添加。这里使用bin用户来添加。

问:如何排查所有用户的计划任务?

注:所有用户的计划任务,都会在/var/spool/cron/下产生对应的文件.

系统级别的计划任务。

系统任务调度的配置文件:
/etc/crontab
使用crontab命令的注意事项如下:
① 环境变量的问题。
② 清理邮件日志,如使用重定向>/dev/null 2>﹠1

使用ls命令列出/etc/cron目录下的文件和目录,按两下tab
[root@testhost ~]# ls /etc/cron
cron.d/       cron.daily/   cron.deny     cron.hourly/  cron.monthly/ crontab       cron.weekly/  


cron.deny:控制用户是否能做计划任务的文件。
cron.monthly/:存放每月执行的脚本。
cron.weekly/:存放每周执行的脚本。
cron.daily/:存放每天执行的脚本。
cron.hourly/:存放每小时执行的脚本。
crontab :计划任务的主配置文件,也可添加任务。

实战:常见的计划任务写法和案例

任务计划案例要求如下:

① 每天2∶00备份/etc/目录到/tmp/backup目录下面。

② 将备份命令写入一个脚本中。

③ 每天备份,要求备份文件的文件名格式为2017-08-19_etc.tar.gz。

④ 在执行计划任务时,不要输出任务信息。

⑤ 存放备份内容的目录要求只保留3天的数据。

注意:在生产中的备份文件不要放到/tmp目录下,因为/tmp是临时目录,系统会定时清除/tmp目录下长时间不使用的文件。

上一页SSM工具下一页日志的种类和记录的方式

最后更新于3年前

这有帮助吗?

编辑cron服务时的写法及格式