По причинам я не войду, я должен скопировать каталоги, пока средняя системная нагрузка является низкой. Кто-то может помочь мне записать сценарий Bash, который скопирует содержание каталога, но проверка для проверки средняя системная нагрузка ниже X прежде, чем скопировать каждый файл, и в противном случае ожидайте секунды Y и попробуйте еще раз?
Можно ли просто выполнить rsync или безотносительно команды копии, которую Вы хотите использовать объединенный с хорошим, чтобы установить приоритет процессора и/или ионизироваться для установки io приоритета.
Существует опция rsync
это ограничивает пропускную способность средств ввода-вывода:
--bwlimit=KBPS limit I/O bandwidth; KBytes per second
просто ради удовольствия (и да, я знаю, что это не пытается скопировать файл снова в случае, если это заснуло режим, я оставлю это для Вашего собственного развлечения; обход по "$" приходит на ум + смещающийся):
#!/bin/bash for i in file1 file2 file3 etc do LOAD=$(uptime | awk '{ sub(/,.*/, "", $9); print $9 * 100.0 }' ) if [ $LOAD -lt 85 ] then echo "copy $i to wherever" else echo "sleep since load is $LOAD" sleep 5 fi done
при помощи среднего числа загрузки последней минуты и только копирования, если система на 85% неактивна, она сделает что-то.
так или иначе я просто использовал бы rsync с throtteling (поскольку dennis упомянутый) плюс установленный высокое хорошее значение (равняется низкому приоритету) к процессу rsync (как zoredache упомянутый), и позвольте OS сделать планирование (который разработан, чтобы сделать просто это).