计划任务和日志轮转

2023-12-13 10:08:36

计划任务

计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据。

一次性调度执行at

Schedule one-time tasks with at.

at一个是需要安装的程序:yum -y install at
启动at:systemctl start atd
开机自启动:systemctl enbale atd

命令:at <TIMESPEC>
<TIMESPEC>示例:
now [min|hour|day|week|month|year]
teatime  下午四点
noon     中午十二点
midnight 午夜十二点
tomorrow 明天

at 12:00 2024-12-6 2024年12月6日中午十二点执行
at 3pm   下午三点执行
at 12:00 < 文件   中午十二点执行文件中的语句


设置一个定时任务:
at <TIMESPEC>
at> 任务命令
at> <EOT>      //CTRL+D输入完毕,提交任务

atq       查询系统内存在的一次性执行任务	
atrm atid 删除一次性计划任务

循环调度执行 cron

Schedule recurring jobs with cron.

安装软件:yum -y install crontabs  #如果软件不存在安装

启动服务:systemctl start crond.service

开机启动:chkconfig crond on

计划任务存储位置:/var/log/cron   空的说明没有任务计划

命令格式Job format:
六个部分构成,且每个部分用空格隔开,含义是:分 时 日 月 周 命令或脚本程序  

*时间格式可以用双位数显示
语法格式 :
Minutes   Hours    Day-of-Month    Month    Day-of-Week    Command 
 分钟	     小时	        日			 月		   周		   执行的命令,最好是命令的绝对路径
 0-59	  0-23  	  1-31         1-12	      0-7

时间:
*:每
*/5:每隔分钟
,:不同的时间段
- : 表示范围
使用者权限文件:
文件:/etc/cron.deny
说明:该文件中所列用户不允许使用crontab命令

文件:/etc/cron.allow
当这个文件产生时,/etc/cron.deny文件失去作用,只有这个文件中的用户才能使用crontab
说明:该文件中所列用户允许使用crontab命令

系统本身的计划任务: /etc/crontab
创建计划
crontab -e 

crontab -u 用户 -e   //root用户给普通用户创建计划任务

Edit jobs for the current user编辑当前用户下的一些任务工作
查看计划
crontab -l

List the jobs for the current user,列出当前用户所有的任务计划工作

crontab -l -u 用户    //管理员可以使用 -u username, 去管理其他用户的计划任务
crontab -l >> 文件位置:备份计划任务
删除计划
crontab -r

Remove all jobs for the current users 移除当前用户的所有任务计划工作

日志轮转

日志类别
系统日志 审计日志 诊断日志 应用日志
日志重要性
Linux系统日志对管理员来说,是了解系统运行的主要途径,因此需要对 Linux 日志系统有个详细的了解。
Linux 系统内核和许多程序会产生各种错误信息、告警信息和其他的提示信息,这些各种信息都应该记录到日志文件中,完成这个过程的程序就是 rsyslog,rsyslog 可以根据日志的类别和优先级将日志保存到不同的文件中。
日志系统rsyslog
日志管理基础
rsyslog 日志管理 
logrotate日志轮转


处理日志的进程
rsyslogd:绝大部分日志记录,和系统操作有关,安全,认证sshd,su,计划任务at,cron... httpd/nginx/mysql: 可以自己的方式记录日志

日志配置主文件:/etc/rsyslog.conf 
常见的日志文件
tail -f /var/log/messages		        //动态查看日志文件的尾部,系统主日志文件
tail -f /var/log/secure		            //记录认证、安全的日志
tail /var/log/maillog			        //跟邮件postfix相关
tail /var/log/cron			            //crond、at进程产生的日志
tail /var/log/dmesg			            //和系统启动相关
tail /var/log/yum.log                   //yum的日志
tail -f /var/log/mysqld.log             //MySQL日志
tail /var/log/xferlog                  	//和访问FTP服务器相关
/var/log/boot.log                       //系统启动过程日志记录存放

w					   //当前登录的用户 /var/log/wtmp
last				   //最近登录的用户 /var/log/btmp
astlog			       //所有用户的登录情况 /var/log/lastlog
日志优先级
日志级别分为:7种日志级别代号0-7

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

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

配置日志轮转
vim /etc/logrotate.conf	    //日志轮转配置文件

日志轮转的常用选项
weekly     					//轮转的周期,一周轮转,单位有年,月,日 
rotate 4			     	//保留4份 
create	644 root root		//轮转后创建新文件,并设置权限属组所有者
dateext                     //使用日期作为后缀 
compress					//日志轮替时,旧的日志进行压缩 
include /etc/logrotate.d  	//包含该目录下的配置文件,会引用该目录下面配置的文件 
missingok			        //丢失不提示
daily                    	//指定转储周期为每天
monthly                  	//指定转储周期为每月
size(或minsize) log-size 	//当日志文件到达指定的大小时才转储
prerotate/endscript     //在转储以前需要执行的命令可以放入这个对,这两个关键字必须单独成行
postrotate/endscript    //在转储以后需要执行的命令可以放入这个对,这两个关键字必须单独成行
手动日志轮转:logrotate
logrotate -f 轮转子配置文件路径

文章来源:https://blog.csdn.net/qq_59207739/article/details/134838141
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。