日志切割脚本
时间: 2023-06-30 16:12:35 浏览: 71
日志切割是指将大型的日志文件按照时间或大小等条件进行分割,以便于管理和维护。以下是一个 Python 脚本示例,可以实现按时间间隔切割日志文件。
```python
import os
import time
import shutil
LOG_FILE = '/var/log/messages'
BACKUP_DIR = '/var/log/backup'
while True:
# 获取当前时间
current_time = time.localtime()
# 构造备份文件名
backup_file_name = 'messages_{0}-{1}-{2}_{3}:{4}:{5}.log'.format(
current_time.tm_year, current_time.tm_mon, current_time.tm_mday,
current_time.tm_hour, current_time.tm_min, current_time.tm_sec)
# 构造备份文件路径
backup_file_path = os.path.join(BACKUP_DIR, backup_file_name)
# 判断备份文件夹是否存在,不存在则创建
if not os.path.exists(BACKUP_DIR):
os.makedirs(BACKUP_DIR)
# 复制日志文件到备份文件中
shutil.copyfile(LOG_FILE, backup_file_path)
# 清空日志文件
open(LOG_FILE, 'w').close()
# 等待 1 小时再进行下一次备份
time.sleep(3600)
```
这个脚本会将 `/var/log/messages` 文件每隔 1 小时备份一次,备份文件会按照当前时间命名,并存放在 `/var/log/backup` 目录下。同时,原来的日志文件也会被清空,以便于下一次备份。可以根据实际需求进行修改。
阅读全文