备份指定目录下的指定文件,并压缩备份文件后删除备份文件
#压缩备份文件并删除备份文件
# 1. 定义全局变量
source_file_array=(omadmin_redis1.log omadmin_redis2.log omadmin_redis3.log)
source_path=/opt/oss/work/log/om/
backup_save_path=/opt/oss/work/log/backup/om/
backup_tar_save_path=/opt/oss/work/log/backup/om/
suffix=_$(date +%F)
# 2. 判断路径是否存在
if [ ! -d "${source_path}" ]; then
echo "[$(date +%Y-%m-%d\ %H:%M:%S)]-路径不存在,退出!"
exit 0
fi
if [ ! -d "${backup_save_path}" ]; then
mkdir -p ${backup_save_path}
fi
if [ ! -d "${backup_tar_save_path}" ]; then
mkdir -p ${backup_tar_save_path}
fi
for source_file in ${source_file_array[@]}; do
# 3. 备份原文件
cp ${source_path}${source_file} ${backup_save_path}${source_file}${suffix}
wait
# 4. 压缩备份文件
tar -zcvPf ${backup_tar_save_path}${source_file}${suffix}.tar ${backup_save_path}${source_file}${suffix}
wait
# 5. 删除备份文件
rm -f ${backup_save_path}${source_file}${suffix}
# 6. 置空原文件
echo "" >${source_path}${source_file}
done