update-rc.d
первоначально использовался сценариями обновления пакета. remove
назван на удалении пакета и удаляет все ссылки, defaults
назван на установке пакета, enable
или disable
мог бы использоваться в зависимости от debconf и полезны для системных администраторов. Очистки remove
делает не на самом деле полезны для отключения сервиса. Из страницы справочника:
Ошибка администрирования общей системы состоит в том, чтобы удалить ссылки с мыслью, что это "отключит" сервис, т.е. что это будет препятствовать тому, чтобы сервис был запущен. Однако, если все ссылки были удалены затем в следующий раз, когда пакет обновлен, postinst сценарий пакета выполнит обновление-rc.d снова, и это переустановит ссылки в их местоположениях заводской настройки. Корректный способ отключить сервисы состоит в том, чтобы настроить сервис, как остановлено во всем runlevels, в котором он запускается по умолчанию. В System V init система это означает переименовывать символьные ссылки сервиса от S до K.
sudo update-rc.d postgresql disable
сделает то, что Вы хотите, потому что это сохраняет rc.d символьные ссылки, но с K (уничтоженными, остановленными) префикс. Вернитесь он с enable
. Некоторая сервисная поддержка, отключаемая от их /etc/defaults/$service
файл, но печально существуют исключения. Другие способы отключить сервис к chmod-x /etc/init.d/$service
файл, или вставить exit 0
наверху его.
Взгляд на rsync
страница справочника я не вижу опции для Вашего сценария. Но что относительно того, чтобы добавить каталог вручную прежде, чем запустить синхронизацию, таким образом избегая Вашей проблемы?
for x in my_folders*;
do
mkdir -p "/foo2/bar2/new_dir/$x"
rsync -adrv "$x/foo/bar/" "/foo2/bar2/new_dir/$x/"
done