这些的脚本与以前的不同,以前写的脚本是把本地文件批量更新到外网服务器,由于网站改版,程序上会修改很多地方,每次更新不能大批量的更新,只能更新指定的文件才行。
当程序问到我这个问题的时候,我就发难了,这个咋个操作了,我也没有及时的回复程序,我只是说我先找找思路,因为我知道如果这个脚本写不出来,那么以后更新东西的时候我每次都需要到外网服务器找到文件和内网提交文件的路径,还要给程序的确认,为什么要他们确认,就是为了防止更新错啊,这也是为了保险,如果更新出错,那也可以找程序配合,挽救啊,如果不找他们确认出了错,那就真的就只有我一个人抗,不懂程序咋个抗吗
下面是我测试过的脚本基本上可以满足指定文件更新了:
#!/bin/bash
#update file
read -p "please file path:" path
filetype=`file $path | awk '{print $2}'`
ls -ld $path >/dev/null 2>&1
if [ $? -eq 0 ] ;then
ssh 192.168.10.11 "ls -ld $path" >/dev/null 2>&1
if [ $? -eq 0 ];then
if [ $filetype = directory ];then
echo "n:$path"
echo "w:$path"
read -p "This is directory,continue(y/n):" jx
if [ $jx = y ];then
rsync -avzR $path 192.168.10.11:/
fi
else
read -p "This is file,continue(y/n):" jx1
if [ $jx1 = y ];then
rsync -avz $path 192.168.10.11:$path
fi
fi
else
read -p "File or directory does not exist,continue(y/n):" panduan
if [ $panduan = y ];then
rsync -avzR $path 192.168.10.11:/
else
echo "Execution is stopped!!"
fi
fi
else
echo "The file path does not exist!!!"
fi