Bash
啟動多個 rsync 會話
我想在分離模式下通過螢幕啟動多個 rsync 會話?是否可以?我需要為文件夾中的每個文件執行 rsync 腳本。
screen -t -d sshpass -p 123456 rsync5 rsync -avzP /home/vagrant/test_folder/ user@1.1.1.1:/home/user/test_folder/
但它返回Must be connected to a terminal。
因此,如果您需要啟動多個 rsync 會話,請嘗試下一個解決方案:
#!/bin/bash # paths for rsync in "/folder/folder/folder" format export SRCDIR="$1" export DESTDIR="$2" # Number of threads for xargs export THREADS="20" cd $SRCDIR; find . ! -type d -print0 | xargs -0 -n1 -P$THREADS -I% rsync -az % 1.1.1.1:/$DESTDIR/%
如果您使用密鑰身份驗證,您可以使用 ssh-agent 自動輸入密鑰的密碼。
ssh-agent bash ssh-add /home/username/.ssh/id_rsa Enter passphrase for /home/username/.ssh/id_rsa: Identity added: /home/username/.ssh/id_rsa (/home/username/.ssh/id_rsa)
連結: