前一阵子写bash脚本实现选择备份文件恢复,记录一下实现方法
实现脚本:
restore(){
# 备份文件夹
BACKUP_PATH=/backup
n=0
# 从备份文件夹读取10条最新的记录
for bak in `ls -t $BACKUP_PATH|sed -n '1,10p'`
do
n=$((n+1))
printf "[%s] %s\n" "$n" "$bak"
eval "bak${n}=$bak"
done
if [ "$n" -eq 0 ]
then
echo >&2 "未找到备份文件"
exit
fi
printf "选择需要恢复的备份文件ID(1 to %s):" "$n"
read -r num
num=$(printf "%s\n" "$num" |tr -dc '[:digit:]')
if [ "$num" -le 0 ] || [ "$num" -gt "$n" ]
then
echo >&2 "输入有误"
exit 1
else
eval "bak=\$bak${num}"
fi
RESTORE_PATH=$BACKUP_PATH/$bak
#下面进行恢复操作
}
Bash