Files

從遠端伺服器複製最新文件

  • May 28, 2015

.doc除了其他類型的文件外,遠端伺服器(支持 SCP)上還有一組文件。

我正在嘗試編寫一個腳本來.doc從遠端伺服器檢索最新的(最近修改的)文件。我目前工作目錄的路徑不能是絕對的,因為我的腳本可能部署在另一台伺服器中。

我可以通過兩個步驟部分解決問題:

  1. 將所有.doc文件從遠端伺服器複製到我的本地~/Downloads文件夾:
scp -i key.pem abc@xyz:/tmp/*.doc ~/Downloads/
  1. 從中選擇最新文件~/Downloads並將其複製到所需的文件夾:
cd ~/Downloads
latest_file=$(ls -t *.doc | head -n 1)
cp -p "$latest_file" /current working directory

如何在單個語句.doc中將文件夾下遠端伺服器 xyz 中存在的最新文件複製到我的本地電腦而不將它們全部下載到中間文件夾中?/tmp

我不太清楚您的問題是什麼,但是如果您嘗試複製到目前目錄,則只需使用.來引用目前目錄,以便您的命令是:

scp -i key.pem abc@xyz:/tmp/*.doc .

讓我們看看這是否能解決您的問題。製作一個腳本。

FILE=`ssh abc@xyz ls -ht /tmp/*.doc | head -n 1`
rsync -avz -e ssh abc@xyz:"$FILE" .

這將在遠端伺服器“ls -ht /tmp/*.doc | head -n 1”上執行命令,並顯示最新的文件。將該指定文件從遠端伺服器同步到您的目前目錄。ssh/rsync 還會詢問您使用者“abc”的密碼,最好使用無密碼登錄或密鑰文件“key.pem”。

引用自:https://unix.stackexchange.com/questions/206174