備份Linux系統的shell腳本
備份Linux系統的shell腳本
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#!/bin/bash
# 设置备份目录和保留天数
backup_dir="/sysbk"
retain_days=7
# 创建备份目录
#mkdir -p "$backup_dir"
# 生成备份文件名
backup_file="system_backup_$(date +%Y%m%d_%H%M%S).tar.gz"
# 使用tar命令备份整个系统到归档文件
tar -czf "$backup_dir/$backup_file" --exclude="$backup_dir" --exclude="/proc" --exclude="/sys" --exclude="/dev" --exclude="/var/spool" --exclude="/var/lib/lxcfs" --exclude="/var/lib/vz" --exclude="/var/log" --exclude="/var/mail" --exclude="/var/cache" --one-file-system /
# 检查备份是否成功
if [ $? -eq 0 ]; then
echo "系统备份成功: $backup_dir/$backup_file"
else
echo "系统备份失败"
fi
# 删除旧的备份文件
find "$backup_dir" -name "system_backup_*" -mtime +$retain_days -exec rm {} \;
//--one-file-system 参数时,备份或复制过程将仅限于指定的文件系统,而不会进入其他挂载的文件系统,這樣就會避免循環導致備份文件臃腫過大,甚至撐爆硬盤。
💘 相关文章
- linux 系統掛載雲盤的方法
- shellcheck 幫助新手的你寫出更好的shell腳本
- 查看Linux系統用戶的UID和GID的多種方法
- 使用shell脚本监控硬Raid并配置MegaCli監控硬碟健康报警发送邮件
- 适用于Linux,MacOS,Unix 的优秀系统信息bash脚本
- Linux系统防止文件删除的配置方法
- Configure nginx to only allow cloudflare's IP to connect to the server shell script
- Linux中如何同步所有文件(包括隐藏文件、符号链接、硬链接)到远程Linux服务器
- linux 挂载对象存储为本地目录的方法
- linux 多线程下载axel的使用