1

Я хочу использовать launchd, чтобы запустить скрипт для резервного копирования измененных файлов. Похоже, это должно работать для того, что я хочу сделать, но я не знаю, как передать моему сценарию, который запускает launchd, путь обновленного файла. Итак, если я смотрю каталог foo и файл bar.txt изменяется, как мне получить мой launchd.plist или скрипт, который он запускает, чтобы получить значение bar.txt?

1 ответ1

1

Я не нашел способа сделать это с помощью launchd. Не могли бы вы просто использовать Rsync или что-то? Или проверьте даты изменения в сценарии, например, используя find, если это сценарий оболочки:

find /some/path -mindepth 1 -maxdepth 1 -mtime -20s

Действия папки получают имена путей в качестве аргумента, но они запускаются только при добавлении файлов в папку, а не при изменении файлов. Вы можете создать действие с папкой, используя шаблон действия с папкой в Automator, или сохранив сценарий, подобный приведенному ниже, в ~/Library/Workflows/Applications/Folder Actions/ а затем включив сценарий в настройке действий с папками.

on adding folder items to this_folder after receiving these_items
    say POSIX path of item 1 of these_items
end

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .