今天给伙伴们分享一下Linux 计划任务-计划任务的定时任务,希望看了有所收获。
我是公众号「想吃西红柿」「云原生运维实战派」作者,对云原生运维感兴趣,也保持时刻学习,后续会分享工作中用到的运维技术,在运维的路上得到支持和共同进步!
如果伙伴们看了文档觉得有用,欢迎大家关注我的公众号,获取相关文档。爱运维,爱生活。
一、日志重要性
- Linux 系统日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。
- Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。
二、日志系统rsyslog
1、常见系统日志
/var/log/message:记录Linux操作系统常见的系统和服务错误信息,服务状态,临时信息
/var/log/boot.log:录了系统在引导过程中发生的事件,就是Linux系统开机自检过程显示的信息
/var/log/lastlog :记录最后一次用户成功登陆的时间、登陆IP等信息(一般通过命令 lastlog 查看)
/var/log/secure :Linux系统安全日志,记录用户和工作组变坏情况、用户登陆认证情况
/var/log/btmp :记录Linux登陆失败的用户、时间以及远程IP地址 查看命令是 last -f /var/log/btmp
/var/log/wtmp:该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件,使用last命令查看
/var/log/cron 与定期执行任务相关的日志文件
2、rsyslog 日志管理
- rsyslogd:绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron… httpd/nginx/mysql: 可以自己的方式记录日志
[root@edenluo.com ~]# ps aux |grep rsyslogdroot 752 0.0 0.2 216440 5548 ? Ssl 20:18 0:00 /usr/sbin/rsyslogd -n
- 日志配置主文件
[root@edenluo.com ~]# /etc/rsyslog.conf
# 子配置目录
/etc/rsyslog.d/ # 必须是以。conf结尾的文件
3、日志类型(设备)
-
auth pam 产生的日志,系统认证日志
-
authpriv ssh,ftp 等登录信息的验证信息
-
cron 时间任务相关,计划任务
-
kern 内核
-
lpr 打印
-
mail 邮件
-
mark(syslog)-rsyslog 服务内部的信息,时间标识
-
news 新闻组
-
user 用户程序产生的相关信息
-
local0~7 自定义的日志设备 留给用户用的
-
local0-local7 8 个系统保留的类, 供其它的程序使用或者是用户自定义
4、日志优先级 rsyslog
日志级别分为:7种日志级别代号0-7
- 0 debug 调试程序产生的信息, 程序所有的执行过程,只有研发同学,(运维,测试同学)调试
- 1 info 一般信息的日志,最常用 错做过程,用户访问,有动作就记录 通用性消息,一般用来提供有用信息。
- 2 notice 具有重要性的普通条件的信息 不是错误,但是可能需要处理
- 3 warning 警告级别,关注有没有持续严重,提出优化方案 有问题,但是不影响服务,潜在问题,不定时炸弹
- 4 err 一般错误级别,阻止某个功能或者模块不能正常工作的信息
- 5 crit 严重级别,危险情况,,阻止整个系统或者整个软件不能工作的信息 例如硬盘错误,可能会阻碍程序的部分功能。
- 6 alert 需要立即修复的告警。
- 7 emerg 内核崩溃等严重信息,紧急情况,系统不可用(例如系统崩溃),一般会通知所有用户
- 8 none 什么都不记录
5、日志的输入规则
-
. info 大于等于 info 级别的信息全部记录到某个文件
-
.=级别 仅记录等于某个级别的日志 auth.=info
- 例: .=info 只记录 info 级别的日志
-
.! 级别 除了某个级别意外,记录所有的级别信息 # 过滤规则,非(不是) 过滤 auth.*,!err
- 例.!err 除了 err 外记录所有
-
.none 指的是排除某个类别 auth.none
- 例: mail.none 所有 mail 类别的日志都不记录
-
‘’*“ 代表系统产生的所有日志,所有日志级别
6、日志输入的动作
1、记录到普通文件或设备文件::
*.* /var/log/file.log # 绝对路径
2、输出到指定终端
*.* /dev/pts/0
测试: logger -p local3.info ‘KadeFor is testing the rsyslog and logger ‘ logger 命令用于产生日志
3、转发到远程::
*.* @192.168.0.1 # 使用UDP协议转发到192.168.0.1的514(默认)端口
*.* @@192.168.0.1:514 # 使用TCP协议转发到192.168.0.1的514(默认)端口
4、发送给用户(需要在线才能收到)::
*.* root
*.* root,kadefor,up01 # 使用,号分隔多个用户
*.* * # *号表示所有在线用户
5、忽略,丢弃::
local3.* ~ # 忽略所有local3类型的所有级别的日志
6、执行脚本::
local3.* ^/tmp/a.sh # ^号后跟可执行脚本或程序的绝对路径
# 日志内容可