É muito bom poder definir um tipo de temporizador executando um comando em um determinado momento. O antigo at
comando faz exatamente isso!
Infelizmente para usuários do OSX, o serviço que processa at
comandos está desabilitado por padrão. Então, vamos habilitá-lo, recarregá-lo e começar a programar comandos.
atrun_plist=/System/Library/LaunchDaemons/com.apple.atrun.plist
sudo sed -i '' 's/true/false/g' $atrun_plist
sudo launchctl unload -F $atrun_plist
sudo launchctl load -F $atrun_plist
Agora, você pode agendar comandos para um determinado horário, assim:
echo 'say Pomodoro is over. Take a break && growlnotify -s -m "take a break"' | at now + 25 minutes
echo 'heroku pipeline:promote && say "Site pushed to production on schedule"' | at 15:30
echo 'brew update && say Homebrew updated three days after that package you wanted was to be updated && brew upgrade that-package && say that-package updated from Homebrew' | at 4pm + 3 days
Acho isso muito útil para lembretes quando combinado com say
ou growlnotify
.
Referências:
Nota
Eu tentei isso no OSX 10.10 Yosemite. O comportamento pode mudar! Para ter certeza, verifique novamente man 8 atrun
para garantir que tudo o que você precisa fazer é alterar o Disabled
valor para false
e carregar uma execução.