Вы не можете установить жесткую связь между FS, вам потребуются символические ссылки.
Something like a hard link of to the WWW and USR directories on the hard drive or second USB disk, as well as VM and other partitions.
В любом случае, вы можете попробовать правильно разбить USB-накопитель с помощью grub и сделать его активным и основным, а dd или что-то в этом роде для рабочих установочных томов на другом разделе USB-накопителя. в части связывания вам нужно будет убедиться, что устройства всегда распознаются одинаково, и отредактировать файл fstab, чтобы каталоги «usr» и «www» указывали на другие USB-накопители с томами на них с данными. Jist - это мобильная ОС, это уже возможно, но подразделение, о котором вы говорите, может быть сложным
По умолчанию cpulimit
не ограничивает дочерние процессы, поэтому rsync
вообще не ограничивается. Если вы используете достаточно новую версию cpulimit
, вы должны иметь возможность использовать опцию--include-children
(или -i
). (См. также этот ответ .)
$ cpulimit -h
Usage: cpulimit [OPTIONS...] TARGET
OPTIONS
-l, --limit=N percentage of cpu allowed from 0 to 400 (required)
-v, --verbose show control statistics
-z, --lazy exit if there is no target process, or if it dies
-i, --include-children limit also the children processes
-h, --help display this help and exit
TARGET must be exactly one of these:
-p, --pid=N pid of the process (implies -z)
-e, --exe=FILE name of the executable program file or path name
COMMAND [ARGS] run this command and limit it (implies -z)
Report bugs to <marlonx80@hotmail.com>.
Это изменит вашу запись cron на:
00 16 * * * /usr/bin/cpulimit --include-children --limit 20 /bin/sh /media/storage/sqlbackup/backups.sh
РЕДАКТИРОВАТЬ :Поскольку OP сам ответил (), он будет работать cpulimit
на команды rsync
внутри скрипта, но это не гарантирует, что ваш скрипт будет хорошим, пока он работает другие функции. Например, если сценарий должен обрабатывать массивный каталог, он может привести к зависанию системы и вызвать всплеск загрузки ЦП и предупреждение.
Я решил, что более разумным решением будет вызов cpulimit
непосредственно для процесса rsync
, который находится в сценарии. Это исправило мою проблему.