這些的腳本與以前的不同,以前寫的腳本是把本地文件批量更新到外網服務器,由於網站改版,程序上會修改很多地方,每次更新不能大批量的更新,只能更新指定的文件才行。
當程序問到我這個問題的時候,我就發難了,這個咋個操作了,我也沒有及時的回覆程序,我只是說我先找找思路,因爲我知道如果這個腳本寫不出來,那麼以後更新東西的時候我每次都需要到外網服務器找到文件和內網提交文件的路徑,還要給程序的確認,爲什麼要他們確認,就是爲了防止更新錯啊,這也是爲了保險,如果更新出錯,那也可以找程序配合,挽救啊,如果不找他們確認出了錯,那就真的就只有我一個人抗,不懂程序咋個抗嗎
下面是我測試過的腳本基本上可以滿足指定文件更新了:
- #!/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
本文出自 “半杯水” 博客,請務必保留此出處http://yyping.blog.51cto.com/5428638/1132114