admin avatar

備份Linux系統的shell腳本

🕞 by admin

備份Linux系統的shell腳本

Bash:
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 参数时,备份或复制过程将仅限于指定的文件系统,而不会进入其他挂载的文件系统,這樣就會避免循環導致備份文件臃腫過大,甚至撐爆硬盤。

💘 相关文章

写一条评论