百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

cron及日志管理

liuian 2024-12-01 01:00 68 浏览

循环调度执行cron

1.1简介cron

    crond的概念和crontab是不可分割的。crontab是一个命令,常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行

1.2认识crond进程

[root@JX01 ~]# systemctl status crond
● crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since 三 2018-08-01 07:03:23 CST; 17min ago
 Main PID: 671 (crond)
   CGroup: /system.slice/crond.service
           └─671 /usr/sbin/crond -n
?
8月 01 07:03:23 JX01 systemd[1]: Started Command Scheduler.
8月 01 07:03:23 JX01 systemd[1]: Starting Command Scheduler...
8月 01 07:03:23 JX01 crond[671]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 2% if used.)
8月 01 07:03:23 JX01 crond[671]: (CRON) INFO (running with inotify support)
[root@JX01 ~]#
?
[root@JX01 ~]# ps aux | grep crond
root        671  0.0  0.0 126280  1668 ?        Ss   07:03   0:00 /usr/sbin/crond -n
root       1440  0.0  0.0 112720   980 pts/0    R+   07:21   0:00 grep --color=auto crond
[root@JX01 ~]#
1.3创建计划任务
#计划任务存储的位置
[root@JX01 ~]# ls /var/spool/cron/
root jack alice
?
#管理计划任务的命令
crontab:
  -l     Displays the current crontab on standard output.
  -r     Removes the current crontab.
  -e     Edits  the current crontab using the editor specified.
?
#计划任务书写的格式
.---------------- minute (0 - 59)
| .-------------- hour (0 - 23)
| | .------------ day of month (1 - 31)
| | | .---------- month (1 - 12) OR jan,feb,mar,apr ...
| | | | .-------- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | | |
* * * * * command
?
#计划任务案例
00 02 * * * ls      //每天2:00整
00 02 1 * * ls      //每月1号2:00整
00 02 14 2 * ls     //每年2月14号2:00整
00 02 * * 7 ls      //每周日2:00整
00 02 * 6 5 ls      //每年6月的周五2:00整(特殊)
00 02 14 * 7 ls     //每月14号2:00整 或者 每周日2:00整,这两个时间都执行
00 02 14 2 7 ls     //每年2月14号2:00整 或者 每周日2:00整,这两个时间都执行
?
00 02 * * * ls      //每天2:00整
* 02 * * * ls       //每天2:00中的每一分钟
* * * * * ls        //每分钟执行ls
* * 14 2 * ls       //2月14号的每分钟 1440分钟
?
*/5 * * * * ls      //每隔5分钟
00 02 1,5,8 * * ls  //每月1,5,8号的2:00整
00 02 1-8 * * ls    //每月1到8号的2:00整
00 02 * 1-10 * ls
?
#测试计划任务的执行效果
1 编写执行脚本.
vim /crontab.sh 
touch /root/`date +%F-%X`.txt
?
2 编排任务计划
[root@localhost ~]# crontab -e
* * 1 1 * bash /crontab.sh
?
3 修改日期时间为1月2日3点4分
date 01020304
修改时间为1点2分3秒
date -s 01:02:03
?
4 监控当前目录
watch -n 0.5 'ls /root/*.txt'
?
5 测试目标
?
* * * * 1    //每周1            每分钟会执行
* * * 1 *    //1月每日          每分钟会执行
* * * 1 1    //1月的周1         每分钟会执行
* * 1 * *    //每月1日          每分钟会执行
* * 1 * 1    //每月1日和每月周1 每分钟会执行
* * 1 1 *    //1月1日           每分钟会执行
* * 1 1 1    //1月1日和1月的周1 每分钟都会执行


日志管理
    日志:在现代社会里,为了维护自身系统资源的运行状况,计算机系统一般都会有相应的日志记录系统有关日常事件或者误操作警报的日期及时间戳信息。这些日志信息对计算机犯罪调查人员非常有用,但计算机日记是按正常工作状态记录的,所以冗余量很大,对查找与分析有用信息造成很大困难。
?
#Linux系统中存在的日志都在哪里?/var/log/
    # tail /var/log/messages            //系统主日志文件
    # tail -20 /var/log/messages
    # tail -f /var/log/messages         //动态查看日志文件的尾部
    # tailf /var/log/secure             //认证、安全
    # tail /var/log/maillog             //跟邮件postfix相关 prefix
    # tail /var/log/cron                //crond、at进程产生的日志
    # tail /var/log/dmesg               //和系统启动相关
    # tail /var/log/audit/audit.log     //系统审计日志
    # tail /var/log/yum.log             //yum
    # tail /var/log/mysqld.log          //MySQL
    # tail /var/log/xferlog             //和访问FTP服务器相关
    # tail  /var/log/wtmp               //当前登录的用户(命令:w)
    # tail  /var/log/btmp               //最近登录的用户(命令last)
    # tail  /var/log/lastlog            //所有用户的登录情况(命令lastlog)
?
#Linux系统是什么进程程序在管理日志?rsyslog
##rsyslog
rsyslog:linux系统中管理日志的服务
所产生的进程是: rsyslogd -n
?
linux中的配置文件:
    linux中所有的服务或者工具,都是由配置文件驱动工作的;
    Linux中的工具或服务都是遵循配置文件中的规则工作的;
?
/etc/rsyslog.conf:
    这个文件定义了系统中所有的服务或者工具,它们所产生的日志,根据特定的级别需要存储在特定的位置
?
日志等级:
    等级由低到高:debug<info<warn<Error<Fatal
?
系统或服务的排错:
    根据配置文件的对错有一下两种方案供给选择:
        1. 查看rsyslog的 journalctl -xe 找出服务或系统的报错信息
        2. 根据服务自身的检测机制,去检查配置文件的语法
        3. 系统常用排错指令 journalctl -xe\\ systemctl status service.name\\ 服务自带检测工具
bash -nx    检测shell脚本的语法问题
httpd -t    检测apache web服务的配置文件语法问题
nginx -t    检测nginx web服务的配置文件语法问题
?
[root@JX02 ~]# vim /etc/rsyslog.conf
#### RULES ####
?
# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console
?
# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
?
# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure
?
# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog
?
# Log cron stuff
cron.*                                                  /var/log/cron
?
# Everybody gets emergency messages
*.emerg                                                 :omusrmsg:*
?
# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler
?
# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log


##logrotate
#认识一下logrotate
为了节省空间和整理方便,日志文件经常需要按!时间或!大小等维度分成多份,删除时间久远的日志文件。这就是通常说的日志滚动(log rotation)
logrotate本身不是系统守护进程,它是通过计划任务crond每天执行
?
#logrotate配置文件:
主文件:/etc/logrotate.conf (决定每个日志文件如何轮转)
子文件夹:/etc/logrotate.d/*
?
#认识logrotate的选项含义
==================全局设置==================
weekly                              //轮转周期,一周轮转
rotate 4                            //保留4份
create                              //轮转后创建新文件
dateext                             //使用日期作为后缀
compress                            //是否压缩
include /etc/logrotate.d            //包含该目录下的文件
/var/log/wtmp {                     //对该日志文件设置轮转的方法
    monthly                         //一个月轮转一次
    create 0664 root utmp           //轮转后创建新文件,并设置权限
    minsize 1M                      //最小达到1M才轮转
    rotate 1                        //保留一份
}
/var/log/btmp {
    missingok                       //丢失不提示
    monthly
    create 0600 root utmp
    rotate 1
}
?
=========================================参数========================================
compress             通过gzip 压缩转储以后的日志
nocompress           不做gzip压缩处理
copytruncate         
用于还在打开中的日志文件,把当前日志备份并截断;是先拷贝再清空的方式,拷贝和清空之间有一个时间差,可能会丢失部分日志数据。
nocopytruncate             备份日志文件不过不截断
create mode owner group    轮转时指定创建新文件的属性,如create 0777 nobody nobody
nocreate                   不建立新的日志文件
delaycompress              和compress 一起使用时,转储的日志文件到下一次转储时才压缩
nodelaycompress            覆盖 delaycompress 选项,转储同时压缩
missingok                  如果日志丢失,不报错继续滚动下一个日志
errors address             专储时的错误信息发送到指定的Email 地址
ifempty                    即使日志文件为空文件也做轮转,这个是logrotate的缺省选项
notifempty                 当日志文件为空时,不进行轮转
mail address               把转储的日志文件发送到指定的E-mail 地址
nomail                     转储时不发送日志文件
olddir directory           转储后的日志文件放入指定的目录,必须和当前日志文件在同一个文件系统
noolddir                   转储后的日志文件和当前日志文件放在同一个目录下
sharedscripts
运行postrotate脚本,作用是在所有日志都轮转后统一执行一次脚本。如果没有配置这个,那么每个日志轮转后都会执行一次脚本
prerotate        在logrotate转储之前需要执行的指令,例如修改文件的属性等动作;必须独立成行
postrotate       在logrotate转储之后需要执行的指令,例如重新启动 (kill -HUP) 某个服务!必须独立成行
daily                      指定转储周期为每天
weekly                     指定转储周期为每周
monthly                    指定转储周期为每月
rotate count               指定日志文件删除之前转储的次数,0 指没有备份,5 指保留5 个备份
dateext                    使用当期日期作为命名格式
dateformat .%s
配合dateext使用,紧跟在下一行出现,定义文件切割后的文件名,必须配合dateext使用,只支持 %Y %m %d %s 这四个参数
size(或minsize) log-size
当日志文件到达指定的大小时才轮转,log-size能指定bytes(缺省)及KB (sizek)或MB(sizem).
当日志文件 >= log-size 的时候就转储。 
以下为合法格式:(其他格式的单位大小写没有试过)
size = 5 或 size 5 (>= 5 个字节就转储)
size = 100k 或 size 100k
size = 100M 或 size 100M
=================================================================================
?
#案例一:普通切割
[root@JX02 ~]# vim  /etc/logrotate.d/yum
/var/log/yum.log {
missingok           //丢失不执行
# notifempty        //空文件不轮转
# size 30k          //达到30k轮转, daily or size
# yearly            //或者一年一轮转
daily               //缩小周期到1天
rotate 3            //轮转保留3次
create 0777 root root
}
[root@JX02 ~]# /usr/sbin/logrotate -f /etc/logrotate.conf       //强制轮转日志
[root@JX02 ~]# ll /var/log/yum*                                 //发现日志已经被切割了
?
?
#案例二:切割前后执行动作
[root@JX02 ~]# vim /etc/logrotate.d/httpd
/var/log/httpd/* {
prerotate
chattr -a /var/log/httpd
endscript
?
#notifempty
daily
create 0600 root root
missingok
rotate 5
?
postrotate
chattr +a /var/log/httpd
endscript
}
?
[root@JX02 logrotate.d]# /usr/sbin/logrotate -f /etc/logrotate.conf
?
#案例三:切割多个日志文件
[root@JX02 ~]# vim /etc/logrotate.d/web
/var/log/httpd_test.log
/var/log/nginx_test.log
/var/log/tomcat_test.log
{
daily
create 0600 root root
missingok
rotate 5
}
?
[root@JX02 ~]# /usr/sbin/logrotate -f /etc/logrotate.conf
?
#案例四:切割一个文件夹下的所有日志
[root@JX02 ~]# vim /etc/logrotate.d/apache
/var/log/apache/*log {
daily
create 0600 root root
missingok
rotate 5
}
?
[root@JX02 logrotate.d]# /usr/sbin/logrotate -f /etc/logrotate.conf

相关推荐

驱动网卡(怎么从新驱动网卡)
驱动网卡(怎么从新驱动网卡)

网卡一般是指为电脑主机提供有线无线网络功能的适配器。而网卡驱动指的就是电脑连接识别这些网卡型号的桥梁。网卡只有打上了网卡驱动才能正常使用。并不是说所有的网卡一插到电脑上面就能进行数据传输了,他都需要里面芯片组的驱动文件才能支持他进行数据传输...

2026-01-30 00:37 liuian

win10更新助手装系统(微软win10更新助手)

1、点击首页“系统升级”的按钮,给出弹框,告诉用户需要上传IMEI码才能使用升级服务。同时给出同意和取消按钮。华为手机助手2、点击同意,则进入到“系统升级”功能华为手机助手华为手机助手3、在检测界面,...

windows11专业版密钥最新(windows11专业版激活码永久)

 Windows11专业版的正版密钥,我们是对windows的激活所必备的工具。该密钥我们可以通过微软商城或者通过计算机的硬件供应商去购买获得。获得了windows11专业版的正版密钥后,我...

手机删过的软件恢复(手机删除过的软件怎么恢复)
手机删过的软件恢复(手机删除过的软件怎么恢复)

操作步骤:1、首先,我们需要先打开手机。然后在许多图标中找到带有[文件管理]文本的图标,然后单击“文件管理”进入页面。2、进入页面后,我们将在顶部看到一行文本:手机,最新信息,文档,视频,图片,音乐,收藏,最后是我们正在寻找的[更多],单击...

2026-01-29 23:55 liuian

一键ghost手动备份系统步骤(一键ghost 备份)

  步骤1、首先把装有一键GHOST装系统的U盘插在电脑上,然后打开电脑马上按F2或DEL键入BIOS界面,然后就选择BOOT打USDHDD模式选择好,然后按F10键保存,电脑就会马上重启。  步骤...

怎么创建局域网(怎么创建局域网打游戏)

  1、购买路由器一台。进入路由器把dhcp功能打开  2、购买一台交换机。从路由器lan端口拉出一条网线查到交换机的任意一个端口上。  3、两台以上电脑。从交换机任意端口拉出网线插到电脑上(电脑设置...

精灵驱动器官方下载(精灵驱动手机版下载)

是的。驱动精灵是一款集驱动管理和硬件检测于一体的、专业级的驱动管理和维护工具。驱动精灵为用户提供驱动备份、恢复、安装、删除、在线更新等实用功能。1、全新驱动精灵2012引擎,大幅提升硬件和驱动辨识能力...

一键还原系统步骤(一键还原系统有哪些)

1、首先需要下载安装一下Windows一键还原程序,在安装程序窗口中,点击“下一步”,弹出“用户许可协议”窗口,选择“我同意该许可协议的条款”,并点击“下一步”。  2、在弹出的“准备安装”窗口中,可...

电脑加速器哪个好(电脑加速器哪款好)

我认为pp加速器最好用,飞速土豆太懒,急速酷六根本不工作。pp加速器什么网页都加速,太任劳任怨了!以上是个人观点,具体性能请自己试。ps:我家电脑性能很好。迅游加速盒子是可以加速电脑的。因为有过之...

任何u盘都可以做启动盘吗(u盘必须做成启动盘才能装系统吗)

是的,需要注意,U盘的大小要在4G以上,最好是8G以上,因为启动盘里面需要装系统,内存小的话,不能用来安装系统。内存卡或者U盘或者移动硬盘都可以用来做启动盘安装系统。普通的U盘就可以,不过最好U盘...

u盘怎么恢复文件(u盘文件恢复的方法)

开360安全卫士,点击上面的“功能大全”。点击文件恢复然后点击“数据”下的“文件恢复”功能。选择驱动接着选择需要恢复的驱动,选择接入的U盘。点击开始扫描选好就点击中间的“开始扫描”,开始扫描U盘数据。...

系统虚拟内存太低怎么办(系统虚拟内存占用过高什么原因)

1.检查系统虚拟内存使用情况,如果发现有大量的空闲内存,可以尝试释放一些不必要的进程,以释放内存空间。2.如果系统虚拟内存使用率较高,可以尝试增加系统虚拟内存的大小,以便更多的应用程序可以使用更多...

剪贴板权限设置方法(剪贴板访问权限)
剪贴板权限设置方法(剪贴板访问权限)

1、首先打开iphone手机,触碰并按住单词或图像直到显示选择选项。2、其次,然后选取“拷贝”或“剪贴板”。3、勾选需要的“权限”,最后选择开启,即可完成苹果剪贴板权限设置。仅参考1.打开苹果手机设置按钮,点击【通用】。2.点击【键盘】,再...

2026-01-29 21:37 liuian

平板系统重装大师(平板重装win系统)

如果你的平板开不了机,但可以连接上电脑,那就能好办,楼主下载安装个平板刷机王到你的个人电脑上,然后连接你的平板,平板刷机王会自动识别你的平板,平板刷机王上有你平板的我刷机包,楼主点击下载一个,下载完成...

联想官网售后服务网点(联想官网售后服务热线)

联想3c服务中心是联想旗下的官方售后,是基于互联网O2O模式开发的全新服务平台。可以为终端用户提供多品牌手机、电脑以及其他3C类产品的维修、保养和保险服务。根据客户需求层次,联想服务针对个人及家庭客户...