sh脚本
#!/bin/bash
logPath="/data/logs/tomcat-pc"
echo "日志路径:${logPath}"
zipPath="/log/tomcat-pc-logzip"
echo "压缩包路径:${zipPath}"
lastMonth=$(date -d "$(date +%Y%m)01 last month" +%Y-%m)
echo "打包月份${lastMonth}"
tar zcvf ${zipPath}/log-tomcatpc-${lastMonth}.tar.gz ${logPath}/*${lastMonth}*
echo "开始删除已打包的日志"
rm -rf ${logPath}/*${lastMonth}*
编辑或新增定时任务
crontab -e
任务命令格式
* * * * * /usr/locat/logzip.sh # 前面是表达式,后面跟需要定时执行sh脚本
cron表达式的语法规则
* * * * *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)
不解压直接查看tar.gz压缩包里的内容
# 查看文件
zcat xxx.tar.gz
# 查看目录
tar tvf xxx.tar.gz
打包成tar.gz
tar zcvf 自定义名字.tar.gz 需要打包的路径或文件
tar zcvf logzip.tar.gz /data/logs/*