计划任务主要是做一些周期性的任务,目前最主要的用途是定期备份数据。
Schedule one-time tasks with at.
at一个是需要安装的程序:yum -y install at
启动at:systemctl start atd
开机自启动:systemctl enbale atd
命令:at
示例:
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
at> 任务命令
at> //CTRL+D输入完毕,提交任务
atq 查询系统内存在的一次性执行任务
atrm atid 删除一次性计划任务
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 日志管理
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 配置文件:
主配置文件:/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 -f 轮转子配置文件路径