需求:原文件备份,新文件覆盖掉源文件
vue项目打包自动化部署使用
假设已经将打包后得文件复制到了需要覆盖得目录得同级下
#!/bin/bashdst_folder="/home/compose/nginx/html"# 创建备份文件夹
backup_folder="$dst_folder/backup"# 获取当前日期作为备份文件夹名称的一部分
current_date=$(date +%Y%m%d)
back_folder="$backup_folder/$(date +%Y%m%d)"
mkdir -p "$backup_folder/$(date +%Y%m%d)"# 备份原文件
if [ -e "$dst_folder/static" ]; thencp -r "$dst_folder/static" "$back_folder"
fi
if [ -e "$dst_folder/index.html" ]; thencp -r "$dst_folder/index.html" "$back_folder"
fi# 保留最近的10份备份
cd "$back_folder"
ls -t | tail -n +11 | xargs -I {} rm -- {}# 复制新文件到目标文件夹
tmp_dir=$dst_folder"/dist/*"
cp -r $tmp_dir $dst_folder