Estou trabalhando em um servidor CentOS e agendo uma tarefa com o comandoat
# echo "touch a_long_file_name_file.txt" | at now + 1 minute
job 2 at Wed Oct 31 13:52:00 2018
Um minuto depois,
# ls | grep a_long_file_name_file.tx
a_long_file_name_file.txt
o arquivo foi criado com sucesso.
No entanto, se eu executá-lo localmente no meu macOS,
$ echo "touch a_long_file_name_file.txt" | at now + 1 minute
job 31 at Wed Oct 31 13:58:00 2018
Minutos depois, se não conseguiu fazer tal arquivo.
Eu verifiquei a versão at
no servidor CentOS
AUTHOR:
At was mostly written by Thomas Koenig, [email protected].
2009-11-14
Em contraste, a versão do macOS
AUTHORS
At was mostly written by Thomas Koenig <[email protected]>. The time parsing routines are
by
David Parsons <[email protected]>, with minor enhancements by
Joe Halpin <[email protected]>.
BSD January 13, 2002
Descobri que at
, atq
, atrm
não são do GNU coreutils.
$ ls /usr/local/opt/coreutils/libexec/gnubin/ | grep at
cat
date
pathchk
realpath
stat
truncate
Como posso instalar a versão mais recente do at
macOS e fazê-la funcionar?
Em vez de atualizar
at
e as ferramentas associadas no macOS, vamos tentar fazer o padrãoat
no macOS funcionar.O
at
manual no macOS diz (minha ênfase):Verificando o
atrun
manual:O que eu acho que pode estar acontecendo aqui, e o que está provocando suas outras
at
perguntas relacionadas, é que você simplesmente não habilitouatrun
a instalação do macOS.No macOS Mojave, além de executar o
launchctl
comando acima (comsudo
), você também terá que adicionar/usr/libexec/atrun
à lista de comandos/aplicativos que possuem "Acesso total ao disco" nas preferências "Segurança e privacidade" no sistema. Observe que não conheço as implicações de segurança de fazer isso. Pessoalmente, também adicionei/usr/sbin/cron
lá para que os trabalhos cron funcionem (não mostrado na captura de tela abaixo, pois é de outro computador).Para adicionar um comando do
/usr
caminho (que não aparecerá na caixa de diálogo de seleção de arquivo no macOS), pressione Cmd+Shift+Gquando a caixa de diálogo de seleção de arquivo estiver aberta (depois de pressionar o ícone/botão mais na parte inferior da janela).Você não precisa reinicializar a máquina após essas alterações. Eu testei isso no macOS Mojave 14.10.1.
Para adicionar à resposta correta de Kusalananda, Adicionar aplicativo de terminal à lista de aplicativos que têm "Acesso total ao disco" fará com que a saída padrão de em trabalhos seja enviada para o usuário.
Lamento não poder comentar a resposta dele. Eu me registrei no site apenas para adicionar as informações acima e não tenho permissão para comentar