Crontab -e me fornece mensagens de erro

0

Recebo um monte de mensagens de erro quando executo crontab -e

Aqui estão as mensagens de erro.

E aqui está o meu arquivo crontab em '/ usr / bin /':

# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the 'crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
30 *    * * *   root    rsync /home/dnaneet/Downloads/*.pdf /home/dnaneet/Downloads/pdfs/
#

Noto que a última tarefa ('rsync') NUNCA EXECUTA! Por que isso está acontecendo? O que fiz de errado?

Executando o Ubuntu 11.10 / Bash. Eu li isso ... Estou sentindo falta de uma shebang? E eu não sei se meus trabalhos de anacron funcionam.

Editar 1

À luz do comentário de Masi, eu comentei as linhas 17 a 25 do meu arquivo crontab com # .

Agora, quando executo sudo crontab -e , tudo que consigo é:

/usr/bin/crontab: 11: 17: not found
/usr/bin/crontab: 12: 25: not found

(gedit:4301): Gtk-WARNING **: Attempting to store changes into '/root/.local/share/recently-used.xbel', but failed: Failed to create

file '/root/.local/share/recently-used.xbel.GOHVBW': No such file or directory

(gedit:4301): Gtk-WARNING **: Attempting to set the permissions of '/root/.local/share/recently-used.xbel', but failed: No such file or

directory

O que no mundo?

    
por drN 31.03.2012 / 00:08

3 respostas

3

/usr/bin/crontab é o comando usado para editar seu usuário crontab. Parece que você sobrescreveu o comando crontab com um arquivo de configuração crontab. O arquivo que você deve estar mudando é /etc/crontab , não /usr/bin/crontab .

$ file /usr/bin/crontab
/usr/bin/crontab: setgid ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, stripped
$ file /etc/crontab
/etc/crontab: ASCII English text

Para corrigir, reinstale o pacote do cron ( sudo apt-get --reinstall install cron ) e faça as alterações em /etc/crontab .

Sua entrada no crontab parece bem correta, apenas no arquivo errado.

EDIT Dado que o seu cronjob apenas copia arquivos dentro do seu próprio homedir, você também pode executá-lo como seu usuário. Se você quiser usar o crontab em todo o sistema, coloque a seguinte linha em /etc/crontab

30 *    * * *   dnaneet    rsync /home/dnaneet/Downloads/*.pdf /home/dnaneet/Downloads/pdfs/

Embora eu tenha acabado de usar o crontab pessoal, que você edita usando o comando crontab . Neste caso, a linha deve ser:

30 * * * * rsync "$HOME/Downloads"/*.pdf "$HOME/Downloads/pdfs/"

Depois de ter feito qualquer alteração, o comando rsync deve ser executado uma vez por hora, às 00:30, 01:30, 02:30, 03:30, etc ...

    
por geirha 31.03.2012 / 10:36
1

O formato do seu arquivo crontab parece estar errado. Você está usando espaços em vez de guias. Por favor, veja este .

Por favor, execute o arquivo crontab de exemplo trivial e veja o que acontece. Em seguida, aplique as alterações semelhantes sobre o formato, uma a uma, em seu arquivo.

Qual é o comando test ? Você tem isso em seu PATH?

    
por Léo Léopold Hertz 준영 31.03.2012 / 01:14
0

Não tenho certeza se esse é o problema, mas talvez você queira tentar colocar o * na cotação do rsync:

rsync /home/dnaneet/Downloads/'*.pdf '/ home / dnaneet / Downloads / pdfs /

    
por G. He 31.03.2012 / 05:48