Linux nohup日志
拆分说明及脚本
1安装crontab
1.1 验证Crontab
一般的CentOs都会默认安装Crontab。
# crontab
-bash: crontab: command not found
执行 crontab 命令如果报 command not found,就表明没有安装.
1.2 Yum安装
vixie-cron软件包是cron的主程序;
crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。
该安装方式适合联网服务器,或者Yum挂载了ISO镜像的系统(印尼服务器目前主节点已经挂载,因此可以使用yum命令)
1.3 rpm安装
需要准备如下rpm包
(1/5): cronie-1.4.4-15.el6.x86_64.rpm
(2/5): cronie-anacron-1.4.4-15.el6.x86_64.rpm
(3/5): crontabs-1.10-33.el6.noarch.rpm
(4/5): procmail-3.22-25.1.el6_5.1.x86_64.rpm
(5/5): sendmail-8.14.4-9.el6.x86_64.rpm
rpm –ivh --nodeps *.rpm
即可安装
1.4 服务命令
# service crond start 启动服务
# service crond stop 停止服务
# service crond restart 重启服务
# service crond reload 重新加载任务
# service crond status 服务状态
2 日志操作脚本
2.1日志切分脚本
mkdir /home/myuser/NohupShell/
cd /home/myuser/NohupShell
vim myuser_log_split.sh
写入以下内容
#源日志路径
log_path_original=/opt/Nohup/myuser/nohup.out
#切分后的日志保存路径
log_path=/opt/Nohup/myuserlog/
#切分日志单个文件大小 单位字节(下面的是5M)
log_size=5242880
#log文件格式
log_name_reg=log
#当前时间
current_date=`date -d "-1 day" "+%Y%m%d"`
#日志切分
split -b ${log_size} -d -a 4 $log_path_original ${log_path}/${log_name_reg}_${current_date}_
#清空日志源文件
cat /dev/null > ${log_path_original}
:wq 保存
其中log_path_original、log_path、log_size三个变量均可根据实际情况更改。
2.2日志定时清除脚本
cd /home/myuser/NohupShell
vim myuser_log_clean.sh
写入以下内容
#日志目录
log_path=/opt/Nohup/myuserlog/
#日志保存天数
log_time=7
#日志文件命名格式
log_name_reg=log
#删除所有log_*的文件
find shell vim命令${log_path} -mtime +${log_time} -name ${log_name_reg}* -exec rm -rf {} \;
log_path、log_time、log_name_reg均根据实际情况变动,其中log_name_reg、log_path与日志拆分脚本的变量值相同。
测试时可以采用find命令的-mmin,删除几分钟前的日志。
3 添加定时任务
3.1修改脚本执行权限
chmod 755 /home/myuser/NohupShell/*
3.2添加到定时任务
crontab –e
写入
0 23 * * * root /home/myuser/NohupShell/myuser_log_split.sh
0 0 * * * root /home/myuser/NohupShell/myuser_log_clean.sh
:wq保存
含义为
每天23点执行日志切分
每天0点执行日志清理
3.3重新加载crontab任务
service crond reload
cd /var/spool/cron/ 可以看到生成了一个root文件
cat root 可以看到刚才添加的定时任务
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论