Invólucro ou substituição amigável para o comando `at` no OS X

0

Muitas vezes, quero que meu computador adicione automaticamente algo à minha lista de tarefas em algum momento no futuro. Em alguns casos, quero adicionar a mesma coisa em intervalos regulares. Nestes casos eu uso o OS X's launchd através da Lingon . Mas eu não tenho uma ótima solução para comandos que eu só quero executar uma vez. A julgar pelo Lingon X, launchd não é a resposta. Quando eu adiciono um novo evento, as opções do Lingon para "Quando" são

  1. Na inicialização e ao salvar
  2. Sempre
  3. Montando um volume
  4. Tempo

e se eu selecionar "Tempo" as opções que eu obtenho são "A cada hora", "Todos os dias" etc.

Eu acredito que, em princípio, o at comando é a resposta, MAS:

  1. at roda na linha de comando; Eu prefiro uma GUI. Talvez alguém tenha escrito um front-end? Eu não consigo encontrar run, mas "at" é uma palavra comum e por isso é difícil de procurar no google.
  2. atrun está desativado por padrão no Mac OS, aparentemente porque é ineficiente de energia : "at é um cronjob, que por padrão está programado para ser executado a cada minuto. Ele varre seu diretório em busca de jobs que expiraram e os executa. Com 1 disk hit por minuto, o drive não vai dormir muito, o que causa problemas, especialmente em laptops " Para a minha candidatura, o trabalho atrasado 30 minutos não é um problema, então talvez atrun com um ciclo mais longo funcionaria.

Qual é a maneira preferida de programar comandos para serem executados apenas uma vez em algum momento no futuro?

kuzzooroo
fonte

Respostas:

0

Você pode programar scripts / comandos do iCal criando um evento e configurando um alarme para "Executar script".

Opcionalmente, se você quiser executar alguns comandos regularmente - você deve realmente olhar para o uso de Cronjobs. Cronjobs permitem que você especifique o comando que será executado em horários específicos.

Existem várias interfaces gráficas para gerenciar o cronjob no Mac:

phoops
fonte
Então você aconselharia usando cronjobs sobre launchd? Em que contextos? No OS X man crontab diz: "Darwin note: Embora o cron (8) e o crontab (5) sejam oficialmente suportados pelo Darwin, sua funcionalidade foi absorvida pelo launchd (8), que fornece uma maneira mais flexível de executar comandos automaticamente." Em qualquer caso, a minha pergunta aqui é como executar trabalhos em uma base não recorrente; Parece que o iCal é uma possibilidade razoável. Obrigado.
kuzzooroo
0

Temporizador de script parece ser uma opção. O autor escreve: "Sim, você pode programar um trabalho para ser executado apenas uma vez no Script Timer. Ele é tratado como um caso especial para um trabalho repetido - basta definir o intervalo de tempo de repetição para zero".

kuzzooroo
fonte