备份和清除的shell脚本

前些天领导找我说系统里没有对日志进行自动定期压缩转存清理工具,现在只能手动进行处理。然后这个任务分配给我了。压缩指打tar包,转存换一个目录备份,清楚是删除。只能写shell脚本加crontab命令(用于设置周期性被执行的指令)。

创建一个名为backup.sh的文件夹,上代码:

#!/bin/bash
#author:bs
#data:20190309
#description: 日志定期压缩转存、清理
#version:v0.1

#创建转存日志目录
mkdir -p /backup/backup_log
#压缩和转存日志,转存路径上方以创建好,压缩日志名称是buckup_log_加系统当前时间年月日.tar.gz
cd /translog/
tar zcvf /backup/backup_log/buckup_log_`date +%Y%m%d%H`.tar.gz source/
#清理日志
cd source/
rm -rf *
#增加压缩日志的读和执行权限
cd /backup/backup_log/
chmod u=rx buckup_log_`date +%Y%m%d%H`.tar.gz

其他系统的日志也存放在此目录,如果日志全部删除,其他系统出现问题没有日志可查看。并且自己系统日志也无法查看,所以要保留系统前7天的日志和其他系统的日志。所以我对shell脚本进行修改。需要查看请自行下载

设置执行周期 crontab

直接用crontab命令编辑,以下是这个命令的一些参数与说明:

crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除某个用户的cron服务
crontab -e //编辑某个用户的cron服务

基本格式 :
*  *  *  *  *  command
分 时 日 月 周 命令

第1列表示分钟0~59 每分钟用*或者 */1表示
第2列表示小时0~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

01 * * * * root run-parts /etc/cron.hourly //每小时执行/etc/cron.hourly内的脚本
02 4 * * * root run-parts /etc/cron.daily //每天执行/etc/cron.daily内的脚本
22 4 * * 0 root run-parts /etc/cron.weekly //每星期执行/etc/cron.weekly内的脚本
42 4 1 * * root run-parts /etc/cron.monthly //每月去执行/etc/cron.monthly内的脚本

注意"run-parts"这个参数了,如果去掉这个参数的话,后面就可以写要运行的某个脚本名,而不是文件夹名了。

设置每月1号凌晨零点开始执行

0 0 1 * * /脚本的存放路径/脚本名称.sh

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

handsome-boy

谢谢你的支持,我会继续努力的哈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值