O script não será executado corretamente no crontab, nenhum caminho ou problemas de permissão

1

Eu uso o editor de texto geany, que tem uma opção de linha de comando para listar todos os documentos abertos. O seguinte comando funciona bem quando executado a partir da linha de comando:

/usr/bin/geany --list-documents > /home/myname/geanylist.txt

Eu quero rodar isso regularmente no cron, mas não funciona. Eu tentei:

  • colocando o comando acima diretamente no meu crontab
  • envolvendo o comando acima em um script bash e chamando isso no meu crontab
  • definindo todo o caminho normal e outras variáveis de ambiente no script
  • copiando todo o conteúdo do meu .bashrc para o script
  • redirecionando stderr e stdout para um arquivo de log (sem ajuda)

Não importa o que eu faça, quando o crontab for executado, ~ / geanylist.txt não conterá a saída de geany --list-documents , embora contenha qualquer outra saída gerada pelo script. Eu estou perdido. Como posso fazer isso funcionar? Existe outro utilitário de sistema além do cron que eu possa usar que me permita fazer isso?

A melhor solução que consigo pensar é criar um script com um loop que execute o comando e depois durma por 24 horas - certamente existe uma maneira melhor?

editar:

  • O resultado de /usr/bin/geany --list-documents , quando executado a partir do CL, é uma lista de caminhos completos para arquivos (geralmente ascii txt), um por linha, no stdout.
  • Ao adicionar o comando ou script ao meu crontab, eu uso crontab -e , com $EDITOR definido como nano . Esta é a mesma maneira que eu adicionei muitos outros comandos ao meu crontab, todos os quais funcionam corretamente (nenhum desses outros comandos tentam executar geany de qualquer forma).
por user201185 13.10.2013 / 00:00

2 respostas

1

Um palpite: geany running from cron não tem acesso ao seu DISPLAY; tente adicionar DISPLAY=:0

    
por glenn jackman 13.10.2013 / 13:05
1

Solução encontrada aqui: link

* * * * * /usr/bin/geany --display=:0.0 --list-documents > /home/myname/geany_files.txt

    
por user201185 14.10.2013 / 09:49