标签:etc 内容 grep message step sys 系统 日志切割 code
# 定时任务分类: 1. crond(crontab) 定时任务软件(软件包 cronie) 2. atd 运行一次 3. anacron 非7*24小时运行的服务器 # 检查 cronie 是否安装: rpm -qa 软件名 [root@NEO ~]# rpm -qa cronie cronie-1.4.4-16.el6_8.2.x86_64 [root@NEO ~]# # 查看软件包中的内容: rpm -ql 软件包 [root@NEO ~]# rpm -ql cronie /etc/cron.d /etc/cron.d/0hourly /etc/cron.deny /etc/pam.d/crond /etc/rc.d/init.d/crond /etc/sysconfig/crond /usr/bin/crontab /usr/sbin/crond /usr/share/doc/cronie-1.4.4 /usr/share/doc/cronie-1.4.4/AUTHORS /usr/share/doc/cronie-1.4.4/COPYING /usr/share/doc/cronie-1.4.4/ChangeLog /usr/share/doc/cronie-1.4.4/INSTALL /usr/share/doc/cronie-1.4.4/README /usr/share/man/man1/crontab.1.gz /usr/share/man/man5/crontab.5.gz /usr/share/man/man8/cron.8.gz /usr/share/man/man8/crond.8.gz /var/spool/cron [root@NEO ~]#
# 系统的定时任务: /etc/cron.hourly /etc/cron.daily /etc/cron.weekly /etc/cron.monthly # 系统会自动运行里面的内容,系统中毒的时候 # 系统定时任务 + logrotate 命令 完成对日志的日志切割/日志轮询 [root@NEO ~]# ll /var/log/messages* /var/log/secure* -rw------- 1 root root 747970 Apr 6 23:01 /var/log/messages -rw-------. 1 root root 560162 Mar 10 13:11 /var/log/messages-20190310 -rw-------. 1 root root 1776477 Mar 18 02:54 /var/log/messages-20190318 -rw------- 1 root root 281719 Mar 25 05:09 /var/log/messages-20190325 -rw------- 1 root root 748600 Apr 2 03:01 /var/log/messages-20190402 -rw------- 1 root root 11127 Apr 6 23:12 /var/log/secure -rw-------. 1 root root 5897 Mar 10 13:20 /var/log/secure-20190310 -rw-------. 1 root root 15581 Mar 18 02:54 /var/log/secure-20190318 -rw------- 1 root root 842 Mar 25 05:19 /var/log/secure-20190325 -rw------- 1 root root 6890 Apr 2 03:10 /var/log/secure-20190402 [root@NEO ~]# # /etc/crontab 是系统定时任务的配置文件之一
# 用户的定时任务 # crontab -l ---> (list) 列表;查看、管理用户定时任务的命令; cron table # crontab -e ---> (edit) 编辑;编辑用户的定时任务 (crontab -e 之后的操作和 vim 一模一样) # /var/spool/cron/root ---> 用户的定时任务存放的位置 (root 是用户名 root用户的定时任务) [root@NEO ~]# crontab -l no crontab for root # root 用户没有定时任务 [root@NEO ~]# crontab -e [root@NEO ~]# crontab -l #oldboy [root@NEO ~]# ll /var/spool/cron/ total 4 -rw------- 1 root root 8 Apr 7 00:22 root # 刚才创建的那个定时任务 [root@NEO ~]#
# 定时任务的使用: # 1. 定时任务依赖的软件(服务) --- 是否能用 1) 查看当前是否正在运行 2) 查看 crond 是否开机自启动 # 查看定时任务当前是否在运行: # 方法一: [root@NEO ~]# /etc/init.d/crond status crond (pid 1555) is running... # 方法二: ps -ef ---> 该命令用于 显示系统中正在运行的进程(这种方法用的比较多);process status [root@NEO ~]# ps -ef |grep crond root 1555 1 0 Apr06 ? 00:00:00 crond # 这个表示定时任务正在运行 root 1719 1625 0 00:37 pts/0 00:00:00 grep --color=auto crond # 第二列表示 pid (进程号) # 检查定时任务是否开机自启动:chkconfig [root@NEO ~]# chkconfig |grep crond crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off [root@NEO ~]#
1. crontab -e ---> edit ;编辑当前用户的定时任务 ---> 该命令即相当于 编辑 vim /var/spool/cron/root 这个文件 (假设当前是root用户) 2. crontab -l ---> list ;显示当前用户的定时任务 ---> 该命令即相当于 cat /var/spool/cron/root 这个文件 (假设当前是root用户) # 使用 crontab 命令、而不直接操作相关文件的原因: 1. 有语法检查功能 格式对不对 2. 方便
# 定时任务相关文件及目录 1. /var/spool/cron/ ---> 定时任务的配置文件所在的目录 2. /var/log/cron ---> 定时任务的日志文件 (运行过程的一个记录) ; *** 很重要 3. /etc/cron.deny ---> 哪些用户禁止使用定时任务 ,即 定时任务黑名单
注意:
# 注意: 星期几和日期不要同时加上
# 1. * ---> 每 ...;每分钟,每小时 ... ; 5个 * 表示每一分钟 (定时任务中最小单位是分钟) # 2. /n ---> 每隔 ... ; */10 * * * * 表示 每隔/每10分钟 # 事例: 每三分钟同步一下系统的时间 # 1). 命令: [root@NEO ~]# which ntpdate /usr/sbin/ntpdate [root@NEO ~]# /usr/sbin/ntpdate ntp1.aliyun.com # 把这条命令放到 定时任务中 7 Apr 01:54:44 ntpdate[1793]: step time server 120.25.115.20 offset 141.016804 sec # 注:在定时任务中命令要用绝对路径 # 2). 把命令放到定时任务中 [root@NEO ~]# crontab -e [root@NEO ~]# crontab -l #sync time by neo at 20170407 */3 * * * * /usr/sbin/ntpdate ntp1.aliyun.com [root@NEO ~]# # 3). 检查:3.1 看日志;3.2 看结果 [root@NEO ~]# date Sun Apr 7 02:02:50 CST 2019 [root@NEO ~]# date -s "1year" # 先把系统时间修改掉 Tue Apr 7 02:02:57 CST 2020 [root@NEO ~]# tail -f /var/log/cron Apr 7 01:59:19 NEO crontab[1799]: (root) LIST (root) Apr 7 02:00:01 NEO crond[1555]: (root) RELOAD (/var/spool/cron/root) Apr 7 02:00:01 NEO CROND[1802]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com) Apr 7 02:00:01 NEO CROND[1803]: (root) CMD (/usr/lib64/sa/sa1 1 1) Apr 7 02:01:01 NEO CROND[1812]: (root) CMD (run-parts /etc/cron.hourly) Apr 7 02:01:01 NEO run-parts(/etc/cron.hourly)[1812]: starting 0anacron Apr 7 02:01:01 NEO anacron[1824]: Anacron started on 2019-04-07 Apr 7 02:01:01 NEO run-parts(/etc/cron.hourly)[1826]: finished 0anacron Apr 7 02:01:01 NEO anacron[1824]: Jobs will be executed sequentially Apr 7 02:01:01 NEO anacron[1824]: Normal exit (0 jobs run) Apr 7 02:03:01 NEO CROND[1849]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com) # 定时任务执行 Apr 7 02:03:07 NEO CROND[1854]: (root) CMD (/usr/sbin/ntpdate ntp1.aliyun.com) # 定时任务执行 [root@NEO ~]# date Sun Apr 7 02:03:09 CST 2019 # 定时任务执行后,系统时间更新 [root@NEO ~]# # 3. - ===> 表示从...到... , 例如: 07-11 可以表示 7点到11点的时候运行定时任务 # 事例:每天的上午7点到上午11点,每个小时运行CMD命令 * 07-11 * * * * CMD # 07-11 每分钟运行CMD 00 07-11 * * * CMD # 07-11 每个小时(整点)运行CMD # 表示小时的时候一定要注意分钟 # 4. , ---> 逗号 表示 分隔;如: 00 17,19,20 * * * 表示 17点、19点和20点
标签:etc 内容 grep message step sys 系统 日志切割 code
原文地址:https://www.cnblogs.com/neozheng/p/10663907.html