PHP開發中常用的Linux命令之:遠端遷移伺服器專案篇
阿新 • • 發佈:2019-01-24
遷移伺服器專案
從伺服器拷貝檔案到另一個伺服器命令: scp filename@ip:filepath
例如:scp /var/www/html/檔名 @10.21.22.101:/var/www/html/目錄/
回車後輸入遠端指定伺服器的密碼再次回車即可 拷貝資料夾命令如下(多加上一個-r 引數即可):
scp -r file
例如:scp -r /var/www/html/目錄名稱 @10.21.22.101:/var/www/html/目錄/
同上回車輸入遠端指定伺服器密碼再次回車,即可把指定資料夾下所有目錄和檔案複製到指定伺服器裡 但上面的scp命令是直接把檔案複製過去,檔案的日期等屬性沒有傳過去,而且如果scp遠端複製中途中斷,再次使用scp複製命令會導致再次把原
的檔案再次複製,影響遷移時間。這時候可以用rsync命令, 它同樣可以遠端複製(其實是同步)檔案,而且會把資料夾和檔案的所有屬性(如:檔案 日期)全部同步到新伺服器裡,並跳過已存在的相同檔案,不進行覆蓋。
rsync不覆蓋已經存在檔案 例如:rsync -avzt --progress /var/www/html/目錄名稱/ [email protected]:/var/www/html/目錄/ --progress可以檢視拷貝的過程 例子:rsync -avzut --progress /var/www/html/目錄名稱/ [email protected]:/var/www/html/目錄/(u選項,指定不覆蓋原目錄內容)
-v, --verbose 詳細模式輸出
-q, --quiet 精簡輸出模式
-c, --checksum 開啟校驗開關,強制對檔案傳輸進行校驗
-a, --archive 歸檔模式,表示以遞迴方式傳輸檔案,並保持所有檔案屬性,等於-rlptgoD
-r, --recursive 對子目錄以遞迴模式處理
-R, --relative 使用相對路徑資訊
-u, --update 僅僅進行更新,也就是跳過所有已經存在於DST,並且檔案時間晚於要備份的檔案。(不覆蓋更新的檔案)
-t, --times 保持檔案時間資訊
當然使用rsync命令必須要安裝rsync
安裝:
(1)新增一個控制指令碼:
在/etc/init.d/下面新建一個名為的rsync檔案,把下面內容複製
從伺服器拷貝檔案到另一個伺服器命令: scp filename@ip:filepath
例如:scp /var/www/html/檔名 @10.21.22.101:/var/www/html/目錄/
回車後輸入遠端指定伺服器的密碼再次回車即可 拷貝資料夾命令如下(多加上一個-r 引數即可):
scp -r file
例如:scp -r /var/www/html/目錄名稱 @10.21.22.101:/var/www/html/目錄/
同上回車輸入遠端指定伺服器密碼再次回車,即可把指定資料夾下所有目錄和檔案複製到指定伺服器裡 但上面的scp命令是直接把檔案複製過去,檔案的日期等屬性沒有傳過去,而且如果scp遠端複製中途中斷,再次使用scp複製命令會導致再次把原
的檔案再次複製,影響遷移時間。這時候可以用rsync命令,
rsync不覆蓋已經存在檔案 例如:rsync -avzt --progress /var/www/html/目錄名稱/ [email protected]:/var/www/html/目錄/ --progress可以檢視拷貝的過程 例子:rsync -avzut --progress /var/www/html/目錄名稱/ [email protected]:/var/www/html/目錄/(u選項,指定不覆蓋原目錄內容)
1 |
[[email protected] ~]# yum install rsync |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |