#!/bin/bash # 检查目录是否存在 if [ ! -d "/data/logs" ]; then mkdir -p /data/logs echo "创建日志目录成功!" fi # 备份日志文件 cp /var/log/messages /data/logs/messages.bak echo "备份日志文件成功!" # 清空日志文件 > /var/log/messages echo "清空日志文件成功!" # 将新生成的日志文件压缩 gzip /data/logs/messages.bak echo "压缩日志文件成功!" # 删除7天前的日志文件 find /data/logs/ -name "*.bak.gz" -type f -mtime +7 -exec rm {} \; echo "删除7天前的日志文件成功!" exit 0
上述脚本用于在Linux环境下实现日志文件的备份、清空、压缩和自动删除等操作。通过Shell编写自动化脚本,可以大大简化系统维护工作,提高开发效率。
脚本中使用了if语句判断目录是否存在,如果不存在则创建目录。接着使用cp命令备份日志文件,并使用>命令清空原日志文件。随后,使用gzip命令将备份的日志文件压缩,以节省存储空间。使用find命令查找7天前的备份文件,并通过-exec参数执行删除操作。
在实际使用过程中,可以将该脚本设定为定时任务,定期执行日志文件的自动化操作。通过结合Linux系统的强大功能和Shell编程的灵活性,可以轻松实现各种自动化任务的编写与执行。