大家好,又见面了,我是你们的朋友全栈君。
文章目录- 一.任务计划
- 1.一次性调度执行——at
- 2.循环调度执行——cron
- 3.符号说明
- 4.使用实例
- 二.日志管理
- rsyslogd配置文件
- rules规则
- 三.日志轮转程序logrotate
- 1.一次性调度执行——at
- 2.循环调度执行——cron
- 3.符号说明
- 4.使用实例
- rsyslogd配置文件
- rules规则
Linux11任务计划,日志管理
一.任务计划
1.一次性调度执行——at
#at 时间
eg.两分钟后执行以下指令
at执行后可以设置多条命令,ctrl d退出
2.循环调度执行——cron
- cron和crontab不可分割
- 执行循环调度任务前提是crond这个服务已经在运行了 如何检查crond这个服务运行情况 #ps -ef | grep crond或者#systemctl status crond.service
创建计划
#crontab -e (会打开一个专门记录循环任务的文件,直接追加新内容就可以,这个文件一般在/tmp/crontab)
编写内容
分 时 日 月 周 命令
0-59 0-23 1-31 1-12 0-7(0或7都表示周日)
eg.
每个小时的第五分钟——5 * * * *
每年三月十五日一点五分——5 1 15 3 *
每年每月十五日一点五分——5 1 15 * *
每年每月每日一点五分——5 1 * * *
(*表示每)
每五分钟执行一次—— */5 * * * *
每个月1号4号6号的两点0分执行——0 2 1,4,6 * *
每个月5号到9号的两点0分执行——0 2 5-9 * *
每分钟都在执行——* * * * *
每个小时的0分执行(整点执行)——0 * * * *
每两周执行一次 ——* * * * */2
每月周五两点第0分钟执行—— 0 2 * * 5
特殊: 0 2 2 6 5
六月二号两点0分 周五 这个会执行两个条件的并集,也就是六月二号两点整和六月的每个周五两点整都会执行
特殊:0 2 14 * 7
每个月14号两点整要执行,每个月星期天两点也要执行
保存退出后 #crontab -l 可以查看
3.符号说明
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
4.使用实例
代码语言:javascript复制实例1:每1分钟执行一次command
命令:
* * * * * command
实例2:每小时的第3和第15分钟执行
命令:
3,15 * * * * command
实例3:在上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * * command
实例4:每隔两天的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 */2 * * command
实例5:每个星期一的上午8点到11点的第3和第15分钟执行
命令:
3,15 8-11 * * 1 command
二.日志管理
一般存放在/var/log/…
1.日志管路进程rsyslog——产生日志进程
什么程序-做了什么事-记录到什么位置
如果没有这个进程要安装#yum install -y rsyslog
然后再启动 #systemctl start rsyslog
其配置文件是rsyslogd
2.系统日志文件/var/log/里面的文件基本后缀都为.log
- 系统主日志文件/var/log/message 用于记录大多数系统的操作,可以查看一下最后几行 #tail -10 或 -20 /var/log/message
时间——主机名——做了什么操作
补充:
#tail -f /var/log/messages 这个-f会锁定日志窗口
此时再开一个终端执行watch命令,就可以实时看到日志文件的变化
- tail /var/log/secure ——认证安全相关的日志
- tail /var/log/yum.log ——yum相关的日志
rsyslogd配置文件
如果配置文件有问题可以重装#yum install rsyslog
启动服务#systmctl start rsyslog.service
相关配置文件#rpm -qc rsyslog,有三个
(查询软件包的安装情况,-q表示查询-c表示配置文件)
其中较为重要的是主配置文件/etc/rsyslog.conf
进入该配置文件可以看到46行的rules规则——主要用于说明什么程序的日志放在什么地方
rules规则
组成:设备.级别 存放位置
举例60行
60: mail.* -/var/log/maillog
这里点的左边(mail)是设备类型名,点的右边(*)是级别——后面跟着日志文件存放位置
(这里路径前面如果带短横线-的,表示异步方式记录)
设备类型名
syslog:syslogd自身产生的日志
authpriv:安全认证
cron:调度程序(cron and at)
mail:邮件系统
user:用户相关的
daemon:后台进程(守护进程)
ftp:文件服务器
kern:内核设备
lpr:打印设备
local0-7:自定义设备
级别
以下是从低到高一共8级
- debug:调试信息
- info:标准信息
- notice
- warnning
- err
- crit
- alert
- emerg:紧急
信息级别越高,信息量越少 在级别处填了一个*表示不指定信息级别,无论什么级别的日志信息都记录下来放到指定位置
特别:当级别的位置写了none表示排除
此处54行,*.info表示收集所有信息,后面三个为排除项,意思是收集所有信息除了mail,authpriv,cron这三类设备 (一般在下面会单独写出这三种设备的日志收集规则)
工作经验:
配置文件一般不要随意修改,修改时可以复制原信息进行注释,方便恢复,并标明修改时间和修改人(注释)
特点:所有程序的配置文件一般都在/etc/程序名.conf
三.日志轮转程序logrotate
- 主配置文件:/etc/logrotate.conf
- 子配置文件夹:/etc/logrotate.d/*(一般存放自定义的配置,可以修改子配置,不要随便改主配置)
查看主配置文件#vim /etc/lorotate.conf
补充一些可以写入蓝色箭头区域的内容:
missingok表示丢失不提醒
notifempty空文件不轮转(一般#关闭)
maxsize n 文件大小超过n立刻轮转
当修改了日志轮转的配置文件后,不会立刻生效,要等到原本设置的下一次备份时间才会生效,如果想立刻按照修改后的配置执行轮转可以手动输入
#/usr/sbin/logrotate /etc/logrotate.conf(让前面这个logrotate程序按照后面这个配置文件执行一遍)
补充:
修改系统时间——用date命令
#date——查看时间
#date 02280100——修改时间(月日时分,不建议乱改),公司一般有统一的时间服务器ntp
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/168471.html原文链接:https://javaforall.cn