文件替换脚本


使用方法:

    ./file-update.sh 文件名  大致路径(确定再那个路径下搜索)


#! /bin/bash
date1=`date +%Y%m%d%s`
date2=`date +%Y%m%d`
if [ -e /mnt/backup/$date2 ] ; then
:
else
mkdir -p /mnt/backup/$date2
fi
# backup-file
backup-file () {
echo "Do you want to backup this file? please select `echo "[y/n]"` "
read FILE
case $FILE in
y)
file1=$i
file2=$1
s=${file1##/*/}
r=${file2:=$s}
cp $i /mnt/backup/$date2 && echo "backup file ok" || echo "backup file fail"  ;;
n)echo "NOT BACKUP file"  ;;
*) backup-file ;;
esac
}
# update-file
update-file () {
echo "do you want to UPDATE this file ? please select `echo [y/n]`"
read FILE
case $FILE in
y)
file1=$i
file2=$1
s=${file1##/*/}
r=${file2:=$s}
cp $r $i && echo "update file ok" && rm -rf $r  || echo "update file fail" ;;
n) echo "NOT UPDATE file" ;;
*) update-file ;;
esac
}
# find backup update  update-file
Path=${2:?请输入替换文件大致路径}
select i in `find $Path -name $1`; do
backup-file
update-file
break
done



脚本演示:


235131224.jpg

执行过后会再/mnt/backup/创建一个时间的文件夹

并将所要替换文件移到上步新建的文件夹里

将新文件替换过去

最后删除新文件