2017-03-17 146 views
0

我在我的託管帳戶中有幾個網站。由於安全層的原因,我不能使用符號鏈接,或者從帳戶到帳戶。不過,我是一組腳本,它們將成爲幾個帳戶的相同帳戶。在SSH中查找並替換文件或文件夾名稱

每次進行更改時,都不會將這些腳本上傳到每個單獨的ftp帳戶,而是希望擁有一個簡單的bash腳本,可以爲我做到這一點。

因此,我想通過SSH進行搜索是通過名稱搜索我的託管服務器以查找特定目錄,例如「ThisUniqueFolder」,然後上載並替換該目錄中的所有文件,使用更新版本的文件存儲在我的本地服務器上。

請記住,此目錄「ThisUniqueFolder」將存在於整個託管服務器的多個不同位置。

+0

因此,例如...找到宿主服務器上被稱爲「ThisUniqueFolder」的所有目錄和在「ThisUniqueFolder」與本地服務器上的「ThisUniqueFolder」更新文件替換文件。 –

+1

您可以使用適當的工具,例如('rsync -uav ThisUniqueFolder/remote.server.tld:/ path/to/ThisUniqueFolder')**注意尾部的''/'',或者你可以省略尾部的''/''並使用'rsync- uav ThisUniqueFolder remote.server.tld:/ path/to'。 –

回答

1

您可以使用ssh查找全部ThisuniqueFolder,然後使用rsync將它們全部更新。

使用ssh-i identity_file以避免密碼爲userremote_host

#!/bin/bash 
for f in `ssh -i /path/to/identity_file [email protected]_host 'find /remote/search/directory -name "ThisUniqueFolder" -type d'` 
do 
    rsync -avu -e 'ssh -i /path/to/identity_file' ThisUniqueFolder/ [email protected]_host:$f 
done 
+0

謝謝你的完美! –