啟動多個 rsync 會話

啟動多個 rsync 會話

我想透過螢幕以分離模式啟動多個 rsync 會話?是否可以?我需要為資料夾中的每個檔案執行 rsync 腳本。

screen -t -d sshpass -p 123456 rsync5 rsync -avzP /home/vagrant/test_folder/ [email protected]:/home/user/test_folder/

但它返回必須連接到終端

答案1

因此,如果您需要啟動多個 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)

連結:

  1. https://wiki.ncsa.illinois.edu/display/~wglick/Parallel+Rsync
  2. https://askubuntu.com/questions/362280/enter-ssh-passphrase-once

相關內容