Коллеги задрали идеями о том, что хорошо бы мне бекап копировать параллельными потоками... В один поток на 10Гбитной сетке выходила скорость 40Мб/сек. Ппц. Ну и ладно, собрал скриптик, запускать
Код:
script /srcdir server:/remote/srcdir
Код:
#!/bin/bash
#rsync threads by olegon.ru
source=$1
target=$2
if [ $1 -n ]
then
exit
fi
cd "${source}"
find . -type f | while read dir
do
echo $dir
subfolder=$(echo "${dir}" | sed 's@^\./@@g')
TD=$(dirname $(echo ${target}/${subfolder} | cut -d':' -f2))
SD=$(echo ${target} | cut -d':' -f1)
ssh "oracle@$SD" "mkdir -p $TD" </dev/null
echo "${source}/${subfolder}" "${target}/${subfolder}"
rsync -a -v -e "ssh -c arcfour" "${source}/${subfolder}" "${target}/${subfolder}" &
done
while [ `ps -ef | grep -c [r]sync` -gt 1 ]
do
sleep 10
echo "Waiting for rsync ... "`ps -ef | grep -c [r]sync`
done
echo "DONE!"`date`
скрипт запустит по одному rsync на каждый файл, дождется завершения всех rsync в системе и выйдет. В тех же условиях скорость рывками подскакивает до 400Мб/сек.