帶輸入的 rsync shell 腳本

帶輸入的 rsync shell 腳本

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

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

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

答案1

幹得好:

echo "Enter file or folder path"

read target

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

將其放入名為 sender.sh 的檔案中。然後從命令列調用 bash sender.sh。

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

答案2

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

#!/bin/bash

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

該腳本將採取全部CLI 參數作為來源目錄/檔案提供給它,並將它們傳送到伺服器。

相關內容