Запустите rsync, только если существует целевой каталог?

Что ж, я рад познакомить вас с миром Распознавания речи :) На самом деле, по этой теме много исследований, но нет инструмента, который был бы установлен вообще в системах UNIX. Вот пост с обширным списком инструментов ... даже если они на самом деле не эффективны. Есть ли достойное программное обеспечение для распознавания речи для Linux?

Для сравнения вы можете выполнить поиск по Dragon Naturally Speaking , явному победителю в системах Windows.

2
02.11.2018, 18:47
1 ответ

Вот трюк, который, вероятно, сработает... В моем примере rsync завершится успешно, если $target _dir находится на «удаленном» компьютере (localhost ), в противном случае произойдет сбой (из-за того, что он не будет запущен удаленный rsync ).

т.е.

src_dir=/etc;target_dir=/test/a;rsync -azp --rsync-path="[[ -d $target_dir ]] && rsync" $src_dir localhost:$target_dir

Код результата сбоя должен быть 12, если удаленный каталог не существует... потому что он фактически никогда не запускал удаленный rsync из-за сбоя"[[ -d $target_dir ]]"

12 Error in rsync protocol data stream

Предупреждение: вам нужно использовать сокет TCP, чтобы заставить его работать, что может быть медленнее.

Другим вариантом через /etc/crontab(, который не требует скрипта ), может быть что-то вроде..

50 23 * * * root (src_dir="/test/src_dir"; target_dir="/test/target_dir"; [ -d $src_dir ] && [ -d $target_dir ] && rsync -a -v --delete ${src_dir}/ ${target_dir}/) &>> /var/log/test.log

0
27.01.2020, 22:29

Теги

Похожие вопросы