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