Linux
帶輸入的 rsync shell 腳本
我想要一個 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 參數作為源目錄/文件,並將它們發送到伺服器。