Reverti do Linuxmint 18 Cinnamon 64 bits para Linuxmint 17.3 Cinnamon 64 bits e não consigo mais criar um cron job. Eu tenho partições raiz (/) e inicial (/home/meu-nome de usuário) separadas e deixei a partição inicial intacta quando fiz a instalação do 17.3.
Eu estava tendo todo tipo de dificuldade para criar um cron job, então instalei o gnome-scheduler e tentei criar um cron job dessa forma. Recebi uma caixa de diálogo de aviso intitulada
"Aviso: Diretório de trabalho de tarefas executadas"
e o conteúdo da mensagem é
"Observação sobre o diretório de trabalho das tarefas executadas: as tarefas recorrentes serão executadas a partir do diretório inicial."
Cliquei em OK e o trabalho aparece no terminal da seguinte forma:
$ crontab -l
* * * * * env DISPLAY=:0 /home/my-user-name/wallpaper_changer.sh >/dev/null 2>&1 # JOB_ID_4
Meu papel de parede não muda a cada minuto como deveria. O script funciona perfeitamente na linha de comando e não produz saída. As permissões são 744 octais para o script. Tudo funcionou bem no Mint 18, mas eu executava o script apenas uma vez por dia. Eu configurei para rodar a cada minuto apenas para fins de teste.
Se eu tentar o método normal de edição do cron job, recebo
$ crontab -e
Temporary crontab no longer owned by you.
Error while editing crontab
Então recebo um buffer nano vazio em vez do modelo crontab normal cheio de linhas comentadas. Quando tento escrever meu buffer nano no arquivo /tmp/crontab.lmuwIe/crontab recebo esta mensagem de erro:
[Erro ao escrever /tmp/lmuwIe/crontab: Permissão negada]
Finalmente,
$ ls -l /usr/bin/crontab
-rwsr-xr-x 1 root crontab 35984 Feb 9 2013 /usr/bin/crontab
Será que algum dia poderei criar um cron job novamente?
$ sudo ls -la /var/spool/cron/crontabs
total 12
drwx-wx--T 2 root crontab 4096 Sep 25 03:23 .
drwxr-xr-x 5 root root 4096 Sep 23 00:05 ..
-rw------- 1 root my-user-name 188 Sep 25 03:23 my-user-name
@Gilles Bem, fiz muito progresso. Eu me livrei de toda a estranheza do erro reinstalando o cron. Agora tudo funciona como deveria quando eu uso
$ crontab -e
excetoque o script que uso há anos não funciona.
Mas outro script é executado; então estou perdido.
Aqui está o que tenho agora:
$ crontab -l
* * * * * env DISPLAY=:0.0 /home/my-user-name/wallpaper_changer.sh
* * * * * date >> /home/my-user-name/crontest.txt
(Não incluí as 20 linhas de comentários que precedem os cron jobs.)
O trabalho de data é executado exatamente como deveria, mas o trabalho wallpaper_changer.sh não faz nada. Eu uso isso há anos e agora não funciona. O script funciona bem na linha de comando e costumava funcionar bem no cron.
$ ls -l /home/my-user-name/wallpaper_changer.sh
-rwxr-xr-x 1 my-user-name my-user-name 694 Jun 2 14:30 /home/my-user-name/wallpaper_changer.sh
$ echo $DISPLAY
:0.0
O que há com isso?
Responder1
Você precisa editar as permissões no binário crontab e configurá-las de volta ao que são quando você faz uma nova instalação.
NÃO FUNCIONA permissões:
ls -la /usr/bin/crontab
-rwsr-xr-x 1 root crontab 40264 Oct 7 2017 /usr/bin/crontab
Ação, faça como root ou usando sudo:
chmod g+s /usr/bin/crontab
chmod u-s /usr/bin/crontab
Permissões de TRABALHO:
ls -la /usr/bin/crontab
-rwxr-sr-x 1 root crontab 40264 Oct 7 2017 /usr/bin/crontab
Retiradas de uma nova instalação de trabalho, as permissões de trabalho são definidas durante a instalação.
Não faço ideia por que eles mudaram mais tarde.
Responder2
$ sudo ls -la /var/spool/cron/crontabs total 12 drwx-wx--T 2 root crontab 4096 Sep 25 03:23 . drwxr-xr-x 5 root root 4096 Sep 23 00:05 .. -rw------- 1 root my-user-name 188 Sep 25 03:23 my-user-name
A propriedade de /var/spool/cron/crontabs/my-user-name
está errada. Você deveria ser o proprietário. Isso explicaria por que o cron não pode sobrescrever o arquivo. Além disso, o arquivo normalmente estaria em crontab
grupo, mas não acho que isso importe.
Você pode corrigir isso executando
sudo chown my-user-name /var/spool/cron/crontabs/my-user-name
Não sei o que poderia ter causado isso e não vejo como isso poderia estar relacionado a um downgrade do sistema. Os problemas subjacentes podem causar outros problemas.