Сценарии запуска/остановки SysVinit запускаются в алфавитно-цифровом порядке в соответствии с порядком сортировки локали по умолчанию «C» (, также известной как POSIX ), поэтому S99foobar
запускается после любых S99[a-e]*
сценариев, но перед любыми. S99[g-z]*
скрипты.
Скрипты запускаются /etc/init.d/rc
мастер-скриптом. Соответствующий код по существу:
for link in /etc/rc.d/rc3.d/S[0-9][0-9]*; do
test -x "$link" || continue
# omitted optimization: if previous runlevel already started this service, don't start it again
# omitted logic: if $DO_CONFIRM is set, prompt for each service
# omitted logging
$link start; status=$?
# omitted status reporting/logging logic based on value of $status
done
Возможно, нам придется выполнить синхронизацию дважды, поскольку у нас нет возможности исключить исходное -удаление.
Попробуйте,
rsync -av --remove-source-files --exclude='*.jpg' Source/ Destination ; rsync -av Source/*.jpg Destination
В целях безопасности я бы удалил файлы .nef
отдельным шагом после использования rsync
для передачи файлов обоих типов. Например вот так:
rsync --verbose --archive --prune-empty-dirs \
--include='*.nef' \
--include='*.jpg' \
--include='*/' \
--exclude='*' \
"$source/" "$target"
find "$source" -type f -name '*.nef' -delete
Команда rsync
здесь скопирует только файлы .nef
и .jpg
(пропустит любой другой файл и не создаст пустые каталоги в $target
из-за --prune-empty-dirs
), команда find
удалит все файлы .nef
.
Я никогда не использую --remove-source-files
с rsync
.