web服務器指定文件更新

這些的腳本與以前的不同,以前寫的腳本是把本地文件批量更新到外網服務器,由於網站改版,程序上會修改很多地方,每次更新不能大批量的更新,只能更新指定的文件才行。

    當程序問到我這個問題的時候,我就發難了,這個咋個操作了,我也沒有及時的回覆程序,我只是說我先找找思路,因爲我知道如果這個腳本寫不出來,那麼以後更新東西的時候我每次都需要到外網服務器找到文件和內網提交文件的路徑,還要給程序的確認,爲什麼要他們確認,就是爲了防止更新錯啊,這也是爲了保險,如果更新出錯,那也可以找程序配合,挽救啊,如果不找他們確認出了錯,那就真的就只有我一個人抗,不懂程序咋個抗嗎

    下面是我測試過的腳本基本上可以滿足指定文件更新了:

  1. #!/bin/bash 
  2. #update file 
  3. read -p "please file path:" path 
  4. filetype=`file $path | awk '{print $2}'
  5. ls -ld $path >/dev/null 2>&1 
  6. if [ $? -eq 0  ] ;then 
  7.   ssh 192.168.10.11 "ls -ld $path" >/dev/null 2>&1 
  8.     if [ $? -eq 0  ];then 
  9.       if [ $filetype = directory  ];then 
  10.         echo "n:$path" 
  11.         echo "w:$path" 
  12.         read -p  "This is directory,continue(y/n):" jx 
  13.         if [ $jx = y ];then 
  14.           rsync -avzR $path 192.168.10.11:/ 
  15.         fi 
  16.       else 
  17.         read -p "This is file,continue(y/n):" jx1 
  18.         if [ $jx1 = y  ];then 
  19.           rsync -avz  $path 192.168.10.11:$path 
  20.         fi 
  21.       fi 
  22.     else 
  23.       read -p "File or directory does not exist,continue(y/n):" panduan 
  24.         if [ $panduan = y ];then 
  25.           rsync -avzR $path 192.168.10.11:/ 
  26.         else 
  27.           echo "Execution is stopped!!" 
  28.         fi 
  29.     fi 
  30. else 
  31.   echo "The file path does not exist!!!" 
  32. fi 

 

本文出自 “半杯水” 博客,請務必保留此出處http://yyping.blog.51cto.com/5428638/1132114

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章