launchd - como obter o nome do arquivo alterado

1

Eu quero usar o launchd para lançar um script para fazer backup dos arquivos alterados. Parece que deve funcionar para o que eu quero fazer, mas eu não sei como passar para o meu script que inicia o launchd, o caminho do arquivo atualizado. Então, se eu estou assistindo diretório foo e arquivo bar.txt é alterado, como faço para obter o meu launchd.plist ou o script é executado para obter o valor de bar.txt?

    
por Brian 31.07.2013 / 20:58

1 resposta

1

Não encontrei nenhuma maneira de fazer isso com o launchd. Você poderia apenas usar o rsync ou algo assim? Ou verifique as datas de modificação no script, por exemplo, usando find se for um shell script:

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

As ações de pasta obtêm nomes de caminho como um argumento, mas são executadas somente quando os arquivos são adicionados a uma pasta e não quando os arquivos são modificados. Você pode criar uma ação de pasta usando o modelo de ação de pasta no Automator ou salvando um script como o abaixo em ~/Library/Workflows/Applications/Folder Actions/ e, em seguida, ativando o script em Configuração de ações de pasta.

on adding folder items to this_folder after receiving these_items
    say POSIX path of item 1 of these_items
end
    
por 31.07.2013 / 21:57