function backup_patch
{
echo "Begin to backup_patch file ..."
if [ ! -d ${path}/backup ]; then
echo "Begin to backup file ..."
mkdir -p ${path}/backup_${version}
#将之前update_${version}目录下的所有文件进行备份;
cp -rf ${path}/update_${version}/* ${path}/backup_${version}
#查找普通文件,然后强制删除指定目录下所有的文件和目录(一部分一部分的处理);
find ${path}/backup_${version} -type f | xargs rm -rf
find ${path}/update_${version} -type f > backup.txt
echo "#!/usr/bin/ksh" > backup.sh
while read line
do
echo "cp -rf ${line} $path/backup_${version}${line}" >> backup.sh
done < backup.txt
localpath="${path}/update_${version}"
#用:作为分隔符,后面的替换前面的在文件backup.sh;然后输出到backup_tmp.sh;
sed "s:$path/backup_${version}${localpath}:$path/backup_${version}:" backup.sh > backup_tmp.sh
sed "s:${localpath}:${install_home}:" backup_tmp.sh > backup.sh
chmod +x backup.sh
./backup.sh
echo "Backup file finish..."
fi
echo "End to backup_patch file ..."
}
本文介绍了一个用于备份系统中特定目录下更新文件的Shell脚本。该脚本首先检查备份目录是否存在,如果不存在则创建,并将指定版本的更新文件复制到备份目录中。通过查找并删除备份目录中的普通文件来清理旧备份,确保备份的有效性。

被折叠的 条评论
为什么被折叠?



