由於公司網站更新,不允許其他人直接更新,所以這個事就落到了我這個苦逼的管理員身上了.
谷歌了一天也沒有找到關於--files-from參數的一些詳細說明.
--files-from
這個參數可以允許rsync命令從文件中讀取要更新的文件列表,並根據這個列表更新指定文件.
這個文件裏面要寫絕對路徑.我試過使用相對路徑,但是系統會提示找不到文件.
這個時候使用命令:rsync -avepog --files-from=upload-list user@IP::web
WEB是目標服務器上的rsync模塊.這個模塊裏面的path=/home/www
upload-list是要更新的文件列表,內容如下:
/home/www/file.html
這個時候會將這個file.html更新到目標服務器上的目錄:/home/www/home/www/file.html
這個路徑肯定是不對的,我們希望更新的目錄爲目標服務器上的:/home/www/file.html
沒有找到其他參數可以控制源服務器的目錄的參數,只能自己想辦法了.
然後我想了個偏方:
既然源服務器是從絕對路徑開始尋找文件的話,那就把網站目錄放到根目錄下面.這樣就直接www目錄了.然後把目標服務器的path改爲/home.同時把upload-list裏面的文件寫爲/www/file.html
這樣再更新的時候,就會將www/file.html更新到目標服務器的/home下面.
這樣就達到我想要的效果.更新的目錄也對了.