Linux

帶輸入的 rsync shell 腳本

  • November 21, 2011

我想要一個 rsync shell 腳本,使用者將輸入文件夾或文件以同步到另一台伺服器。

即 -./deploy /html/./deploy /html/kuky.txt

該腳本將等待輸入,然後將執行 rsync 腳本,請幫助。

幹得好:

echo "Enter file or folder path"

read target

if [ ! -e "$target" ]
then
   echo $target does not exist
else
   echo Transferring $target
   rsync -avzr $target user@example.com:/home/user/target_directory
fi

將其放入一個名為 sender.sh 的文件中。然後從命令行呼叫 bash sender.sh。

我建議您查找 rsync 命令的選項。他們可能會極大地改變行為。

Can 的回答要求使用者執行腳本,然後手動鍵入路徑,以下將允許您使用您在 OP 中指定的語法:

#!/bin/bash

echo -n "Transferring ${*} to server... "
rsync -az ${*} <user>@<server>:/path/to/target/ 1> /dev/null
echo "Done!"

該腳本會將所有提供給它的 CLI 參數作為源目錄/文件,並將它們發送到伺服器。

引用自:https://serverfault.com/questions/332979