计划任务与日志管理

本文介绍了Linux中的一次性计划任务工具at和atq、atrm的使用,以及循环性计划任务工具crontab的安装与配置。同时,详细讲解了日志管理,包括rsyslog、常见日志文件、日志优先级和logrotate日志轮转的配置与实践。
摘要由CSDN通过智能技术生成

目录

计划任务

at:一次性调度执行

at:使用

atq:查看一次性计划任务

atrm:删除一次性计划任务

crontab:循环性计划

安装软件

启动服务

存储位置

管理方式

日志管理

rsyslog 日志管理

日志进程:

常见的日志文件

日志优先级

logrotate日志轮转

什么是日志轮转?

logrotate 配置文件:


计划任务

at:一次性调度执行

at:使用

用法:at <时间规格>     at  now +Nmin   at **:** < 文件

ctrl+删除键:删除

ctrl+shift+d:退出

[root@localhost ~]# systemctl status atd       查看at的状态

[root@localhost ~]# systemctl start atd        启动at服务

示例1:2min后删除 tom

[root@localhost ~]# at now +2min

at> userdel -r tom<EOT>

job 10 at Wed Jul  5 11:24:00 2023

[root@localhost ~]# date

2023年 07月 05日 星期三 11:26:24 CST

[root@localhost ~]# id tom

id: tom: no such user

示例2:   让www使用at

​
[root@localhost ~]# visudo

www     ALL=(ALL)       NOPASSWD:ALL

[root@localhost ~]# su – www

[www@localhost ~]$ vim www.txt

[www@localhost ~]$ date

2023年 07月 05日 星期三 11:31:47 CST

[www@localhost ~]$ at 11:33 < www.txt

job 11 at Wed Jul  5 11:33:00 2023

[www@localhost ~]$ cat www.txt

sudo useradd tom

sudo touch /home/www.txt

[www@localhost ~]$ cat www.txt

sudo useradd tom

sudo touch /home/www.txt

[www@localhost ~]$ ls /home

www

[www@localhost ~]$ date

2023年 07月 05日 星期三 11:33:19 CST

[www@localhost ~]$ id tom

uid=1001(tom) gid=1001(tom) 组=1001(tom)

[www@localhost ~]$ ls /home

tom  www  www.txt

atq:查看一次性计划任务

示例:

[root@localhost ~]# atq

13   Wed Jul  5 16:22:00 2023 a root

atrm:删除一次性计划任务

示例:

[root@localhost ~]# atq

14   Wed Jul  5 16:30:00 2023 a root

[root@localhost ~]# atrm 14

[root@localhost ~]# atq

crontab:循环性计划

用法: crontab [选项] 文件

安装软件

[root@localhost ~]# yum -y install crontabs

启动服务

[root@localhost ~]# systemctl start/stop crond       #开启/关闭

[root@localhost ~]# systemctl status crond      #查看状态

[root@localhost ~]# systemctl enable crond     #开机启动

[root@localhost ~]# systemctl disable crond   #关闭开机启动

存储位置

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

管理方式

crontab -l        //列出当前用户的计划任务

crontab -e        //编辑当前用户的计划任务

crontab -r        //删除当前用户所有的计划任务

crontab -u <user>        (root)管理其他用户的计划任务

语法格式 :

Minutes   Hours     Day     Month     Week    Command(绝对路径)

0-59     0-23      1-31      1-12      0-7(0和7都表示周日)

   *       *        *         *        *

*:每

*/5 每隔分钟

,:不同的时间段

- : 表示范围

示例:

[root@localhost ~]# vim /home/soso.sh

touch /home/a.txt

[root@localhost ~]# chmod +x /home/soso.sh

[root@localhost ~]# crontab -e

0 6 * * * /home/soso.sh

[root@localhost ~]# crontab -l

0 6 * * * /home/soso.sh

为www用户创建

[root@localhost ~]# crontab -u www -e

日志管理

rsyslog 日志管理

日志进程:

[root@localhost ~]# ps aux |grep rsyslogd

root        962  0.0  0.4 216560  4744 ?        Ssl  13:12   0:01 /usr/sbin/rsyslogd -n

日志配置主文件:

[root@localhost ~]# /etc/rsyslog.conf

常见的日志文件

[root@localhost ~]# tail -f /var/log/messages         #动态查看日志文件的尾部,系统主日志文件

[root@localhost ~]# tail -f /var/log/secure              #记录认证、安全的日志

[root@localhost ~]# tail /var/log/maillog                  #跟邮件postfix相关

[root@localhost ~]# tail /var/log/cron                      #crond、at进程产生的日志
[root@localhost ~]# last                                         #最近登陆的用户

root     pts/0        192.168.91.1     Wed Jul  5 17:20   still logged in  

reboot   system boot  3.10.0-1160.92.1 Wed Jul  5 17:20 - 17:20  (00:00)   

root     pts/1        192.168.91.1     Wed Jul  5 15:00 - 15:04  (00:03)   

root     pts/0        192.168.91.1     Wed Jul  5 14:38 - down   (02:41)

第一列,用户名;

第二列,终端位置,/pts/0 (伪终端)意味着从诸如ssh或者telnet的远程链接的用户,tty(teletypewriter)意味着直接连接到计算机或者本地链接的用户;

第三列,登录的ip或者内核。

第四列,开始时间;

第五列,结束时间(still login in 还未退出 down 直到正常关机 crash 直到强制关机)
[root@localhost ~]# lastlog          #所有用户的登录情况

日志优先级

日志级别分为:7种日志级别代号0-7

0 debug             #有调试信息的,日志信息最多     最低级
1 info              #一般信息的日志,最常用
2 notice            #最具有重要性的普通条件的信息
3 warning           #警告级别
4 err               #错误级别,阻止某个功能或者模块不能正常工作的信息
5 crit              #严重级别,阻止整个系统或者整个软件不能工作的信息
6 alert             #需要立刻修改的信息
7 emerg             #内核崩溃等严重信息
none                #什么都不记录

logrotate日志轮转

什么是日志轮转?

自动切割日志


logrotate 配置文件:

主配置文件:/etc/logrotate.conf (决定每个日志文件如何轮转)

子配置文件:/etc/logrotate.d/…

配置讲解:

[root@localhost ~]# vim /etc/logrotate.conf

weekly     #轮转的周期,一周轮转,单位有yearly weekly daily

rotate 4     #保留4份

create        #轮转后创建新文件

dateext      #使用日期作为后缀

include /etc/logrotate.d           #包含该目录下的配置文件,会引用该目录下面配置的文件

/var/log/wtmp {          #对该日志文件设置轮转的方法

 monthly                #一月轮转一次

 minsize 1M      #最小达到1M才轮转,否则就算时间到了也不轮转

 maxsize 10M          #当到达10M时,不满时间,也会轮转

 create 0664 root utmp       #轮转后创建新文件,并设置权限

 missingok                 #丢失不提示

 notifempty                #空文件不轮转

}

示例:轮转文件/var/log/yum.log

[root@localhost logrotate.d]# vim /etc/logrotate.d/yum

  1 /var/log/yum.log {$

  2     daily$

  3     rotate 3$

  4     create 0644 root root$

  5     maxsize 1M$

  6     missingok$

  7     $

  8 }$

[root@localhost logrotate.d]# /usr/sbin/logrotate -f /etc/logrotate.d/yum  强制执行

[root@localhost logrotate.d]# ls /var/log/yum*

/var/log/yum.log  /var/log/yum.log.1

[root@localhost logrotate.d]#  grep yum /var/lib/logrotate/logrotate.status  #查看记录所有日志文件最近轮转的时间
[root@localhost opt]# rm -rf /var/log/yum.log.*

[root@localhost opt]# ls /var/log/yum*

/var/log/yum.log

[root@localhost opt]# vim /opt/QF.sh

/usr/sbin/logrotate -f /etc/logrotate.d/yum

[root@localhost opt]# chmod +x /opt/QF.sh

[root@localhost opt]# crontab -e

*/1 * * * * /opt/QF.sh

[root@localhost opt]# ls /var/log/yum*

/var/log/yum.log  /var/log/yum.log.1  /var/log/yum.log.2

[root@localhost opt]# crontab -r
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值