Começando com cronjobs em um Mac
Pergunta
Eu estou tentando se familiarizar com tarefas agendadas, e acho que essa é a idéia básica (programação, sintaxe, etc), mas, eu não consigo acertar no meu mac com o Terminal - onde exatamente fazer Acho que a Crontab? Como devo fazer referência os caminhos a scripts?
O que eu estou tentando fazer é bater um script php em uma máquina remota ( http:. // .. ) -? isso é possível em tudo
Solução
Para começar com o launchd (em vez de cron) você vai querer primeiro criar um arquivo .plist
vazios, por exemplo local.mytask.plist
e colocá-lo em algum lugar. ~/Library/LaunchAgents
é provavelmente um bom lugar. Aberta que no editor de texto e copie o código abaixo
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<false/>
<key>Label</key>
<string>local.mytask</string>
<key>ProgramArguments</key>
<array>
<string>/opt/local/bin/wget</string>
<string>http://someserver/somepage.php</string>
</array>
<key>StartInterval</key>
<integer>300</integer>
<key>RunAtLoad</key>
<true />
<key>StandardErrorPath</key>
<string>/dev/null</string>
<key>StandardOutPath</key>
<string>/dev/null</string>
</dict>
</plist>
Em seguida, "Ativar" o arquivo a partir da linha de comando:
sudo launchctl load /Users/my_username/Library/LaunchAgents/local.mytask.plist
Para torná-lo carregar automaticamente, crie um arquivo ~/.launchd.conf
com a mesma linha (sudo launch
menos)
load /Users/my_username/Library/LaunchAgents/local.mytask.plist
As instruções acima acima foram copiados de www.davidlanier.com e anunciado aqui como referência.
Outras dicas
Tipo crontab -e
para editar sua tabela cron e crontab -l
para listar o conteúdo atual .. Tipo man 1 crontab
para mais informações sobre esse comando e man 5 crontab
para mais informações sobre o formato de arquivo da tabela de cron.
Por exemplo, para baixar a página stackoverflow todos os dias às 10: 00a, crontab -e
prazo, entrar nesta linha, e depois salvar / sair. A saída será gravada em um arquivo em seu diretório pessoal.
0 10 * * * /usr/bin/curl -s http://stackoverflow.com > ~/stackoverflow.html
Sobre a chance de que alguém luta com cron em tropeços Snow Leopard através desta, vou desenterrar esta discussão antiga.
Sim, launchd é suposto para substituir cron, mas na verdade ele não pode fazer certas coisas cron lata.
Cron não está bem integrado. Se ele envia uma mensagem, ela acaba em / var / mail / user_name que, naturalmente, Apple Mail não sabe nada sobre.
crontab -e joga-se dizendo 'arquivo temporário deve ser editado no lugar'. Aparentemente vim não vi é compatível. Você pode então fazer crontab "
Sim, demorou um tempo para resolver isso tudo para fora: (
launchd é poderoso, mas você realmente não quer escrever o plist si mesmo. Obter Lingon . É um open-source, muito bem concebido GUI para criar e gerenciar tarefas launchd do seu sistema.
Cron foi substituído por launchd desde 10.4. Você provavelmente deve escrever suas tarefas usando isto a menos que você planeja portar para sistemas Linux / Unix em algum ponto.
Se você decidir ir com cron qualquer maneira, tente crontab -e
digitação ou sudo crontab -e
. Eles darão diferentes arquivos crontab, o antigo para o usuário que você está executando atualmente como eo último para o usuário root.
"Bater" um URL pode ser feito de várias maneiras. Dependendo do script local que você está usando para "hit", você poderia usar alguns dos da linguagem built-in métodos / classes. Por exemplo, um script Ruby usaria net / http mas você pode tentar onda, bem como se você está apenas escrevendo um script bash. Fazer man curl
para encontrar mais, mas o comando básico é apenas curl http://google.com
.
Você não quer estar usando cron. Como outros já disse, ele foi substituído por launchd e launchd é claro que vai ser o futuro no Mac OS X.
MacTech Revista foi recentemente fazendo uma série de artigos sobre launchd e eu recomendo lê-los. Eu sei que eu certamente aprendi muito.
de setembro de 2009 (Volume 25, Issue 9) 25,09 MacEnterprise: launchd para almoço
Outubro de 2009, (Volume 25, Issue 10) Snow Leopard, launchd, e almoço Mais receitas launchd, e um olhar para mudanças no Snow Leopard
Houve outros artigos em MacTech e gostaria de sugerir à procura seu site.