Я использую rsync
для резервного копирования файлов. В /etc/cron.daily
поместите сценарий как:
EXCLUDES=/etc/rsync/excludes.txt
TARGETDIR=root@::backup-target
BACKUPDIR=/`date +%Y%m%d-%H%M%S`
export RSYNC_PASSWORD="veryverysecret"
rsync --force --ignore-errors --delete-excluded --exclude-from=${EXCLUDES} --delete --backup --backup-dir=${BACKUPDIR} -a -H -X -A / ${TARGETDIR}/current
Конечно, необходимо настроить host-where-to-store-backup
. Взгляните в rsyncd.conf
страница справочника.
Я думаю, что у Вас есть фундаментальное неправильное представление разделения труда между терминалом и оболочкой. Невыполняемая команда находится в памяти удара, это не находится в терминале. Как только Вы вводите клавишу символа или функциональную клавишу, эта информация отправляется в удар, и это - удар, который справляется с командами выпуска, который обновляет дисплей, который обеспечивает завершение и так далее. readline библиотека является частью удара. Для получения дополнительной информации считайте то, Что точное различие между 'терминалом', 'оболочкой', 'tty' и 'консолью'?
Результат - то, что код, который Вы хотите написать для управления командой, должен находиться в ударе: это должно пойти beween одна часть удара и другая часть удара.
Можно поместить промежуточную программу между терминалом и ударом, но если Вы сделаете это, то Вы потеряете преимущество завершения и другие тонкости.
READLINE_LINE
переменная была представлена в ударе 4, потому что нет никакого способа сделать то же самое под ударом 3. Если то, что Вы делаете, требует его, Ваш лучший выбор состоит в том, чтобы переключиться для избиения 4 или zsh.