写一个shll脚本,实现对一个目录定期归档备份,保留7天的数据
时间: 2023-11-27 19:52:31 浏览: 100
shell 脚本对数据库定时备份
好的,这个问题我可以回答。以下是一份实现定期归档备份的 shell 脚本,它会保留最近 7 天的备份数据:
```
#!/bin/bash
# 要备份的目录
backup_dir="/path/to/backup/dir"
# 备份存储目录
backup_storage="/path/to/backup/storage"
# 生成备份文件名,格式为 backup-日期.tar.gz
backup_filename="backup-$(date '+%Y-%m-%d').tar.gz"
# 完整备份文件路径
backup_path="$backup_storage/$backup_filename"
# 删除旧的备份文件,保留 7 天的备份数据
find "$backup_storage" -type f -name 'backup-*.tar.gz' -mtime +7 -delete
# 执行备份操作
tar -czvf "$backup_path" "$backup_dir"
```
这个脚本会将指定目录 `$backup_dir` 打包成一个 tar.gz 文件,并保存到备份存储目录 `$backup_storage` 中。在备份之前,它会删除备份存储目录中旧于 7 天的备份文件。您可以将此脚本添加到 crontab 中,以定期自动运行备份。
阅读全文