#!/bin/sh
RSYNC='ionice -c 3 nice -n 17 rsync'
$RSYNC --inplace --bwlimit=2000 -Wvr [-pgo] [--progress] --log-file=/tmp/rsync.log \
--rsync-path="$RSYNC" src dest
- --inplace обновлять файл назначения прямо на месте
- -W копировать весь файл, бед delta-xfer сравнения
- -v подробный вывод действий
- -r рекурсивно
- --rsync-path позволяет задать ionice/nice для процесса rsync
- --rsh="ssh -c arcfour" передавать данные по ssh с наименее тяжёлым шифрованием
- --bwlimit=2000 ограничить скорость i/o (kb/s), полезно для боевого нагруженного сервера
- -p сохранять права доступа
- -g сохранять группу
- -o сохранять владельца
- --progress отображать прогресс, в случае большого количества мелких файлов - бесполезно
#!/bin/sh
TAR='ionice -c 3 nice -n 17 tar'
cd /src
$TAR cvf - src-dir | ssh dst-host "cd /src; $TAR xvf - | tee -a /tmp/tar.log"
- ionice -c 3 i/o приоритет idle, позволяет читать файлы, только когда другие операции не требует i/o
- nice -n 17 максимально значение 19, процесс наиболее "вежливый"