Script Crontab no Mac OS X Lion não funciona mais

2

Eu tenho um problema com as tarefas do cron. Anteriormente, esse script funcionava bem no servidor Mac OS X 10.6, mas quando eu o inicializava no Lion (cliente), esse script parou de funcionar.

Basicamente, esse arquivo .bat chama um arquivo jar (que invoca um loop de comandos mysqldump ) para fazer backup de vários bancos de dados em vários servidores e é executado perfeitamente se for lançado pelo shell.

cd /Users/nameoftheuser/Desktop/backupper 
/usr/bin/java -cp .:Backupper.jar:lib/mail.jar backupper.Main "/Users/nameoftheuser/Desktop/backupper/listasiti.txt" "/Users/nameofthe/Desktop/backupper/config.properties

Mas se o cron iniciar o mesmo arquivo .bat , os backups de banco de dados gerados serão de 0 bytes.

A entrada do cron é:

0     0     sh /Users/path/to/file.bat

Eu acredito que o problema é que o cron não é executado como root . Ou o que mais?

    
por Nopster 05.11.2011 / 16:14

1 resposta

1

Eu faria da maneira OS X e usaria launchd ao invés de cron. Você faz isso escrevendo um LaunchAgent. Isso é basicamente um .plist em / Library / LaunchAgents ou ~ / Library / LaunchAgents que informam qual script deve ser executado e qual deve ser o gatilho para a execução do script.

O launchd permite controlar se o script deve ser executado pelo usuário conectado ou pelo usuário root.

O

Lingon.app é uma boa maneira de começar e gerenciar o LaunchAgents.

A página do manual Apple Developer Connection também pode ajudar.

    
por 10.11.2011 / 16:23