#!/bin/bash
backup_dir="/path/to/backup/dir"
log_file="/path/to/logfile.log"
files_to_backup=("file1" "file2" "/path/to/file3") # 这里列出待备份文件路径
# 检查备份目录
if [ ! -d "$backup_dir" ]; then
echo "$(date): 备份目录 $backup_dir 不存在" | tee -a $log_file
# 处理策略:尝试创建目录
mkdir -p "$backup_dir"
if [ $? -eq 0 ]; then
echo "$(date): 成功创建备份目录 $backup_dir" | tee -a $log_file
else
echo "$(date): 创建备份目录 $backup_dir 失败" | tee -a $log_file
fi
elif [ ! -w "$backup_dir" ]; then
echo "$(date): 备份目录 $backup_dir 不可写" | tee -a $log_file
# 处理策略:尝试修改权限
chmod +w "$backup_dir"
if [ $? -eq 0 ]; then
echo "$(date): 成功修改备份目录 $backup_dir 为可写" | tee -a $log_file
else
echo "$(date): 修改备份目录 $backup_dir 权限失败" | tee -a $log_file
fi
fi
# 检查待备份文件
for file in "${files_to_backup[@]}"; do
if [ ! -f "$file" ]; then
echo "$(date): 文件 $file 不存在" | tee -a $log_file
# 处理策略:根据具体情况决定是否跳过或终止
elif [ ! -r "$file" ]; then
echo "$(date): 文件 $file 不可读" | tee -a $log_file
# 处理策略:尝试修改权限
chmod +r "$file"
if [ $? -eq 0 ]; then
echo "$(date): 成功修改文件 $file 为可读" | tee -a $log_file
else
echo "$(date): 修改文件 $file 权限失败" | tee -a $log_file
fi
fi
done