Eu tenho uma instalação limpa do Xubuntu 14.04 de 32 bits e anacron
não parece estar funcionando.
Eu li que é melhor usar um trabalho cron para aparar SSDs, e que o Ubuntu tem um trabalho cron para fazer isso, então removi o descarte /etc/fstab
. Eu queria confirmar que o trabalho cron estava funcionando, então adicionei um echo
comando para /etc/cron.weekly/fstrim
que fique assim:
#!/bin/sh
# call fstrim-all to trim all mounted file systems which support it
echo "Trim started on" $(date) >> /home/dominic/Desktop/Trim_Runs
set -e
# This only runs on Intel and Samsung SSDs by default, as some SSDs with faulty
# firmware may encounter data loss problems when running fstrim under high I/O
# load (e. g. https://launchpad.net/bugs/1259829). You can append the
# --no-model-check option here to disable the vendor check and run fstrim on
# all SSD drives.
exec fstrim-all
Ele roda bem em um terminal, mas nunca é executado como um trabalho semanal. Então mudei para cron.daily
, mas ele também nunca sai daí. Então mudei para cron.hourly
, e ele funciona a cada hora. O texto do eco aparece no arquivo e a luz da unidade acende por cerca de dois minutos. Mas cron.hourly
não usa anacron
.
Aqui está o meu crontab
arquivo. Eu mudei algumas vezes, mas também não parecia funcionar com os tempos originais que vieram com o Xubuntu.
# /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 16 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 1 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 )
#
Testei para ver se ele funcionaria corretamente no crontab do meu usuário, colocando o seguinte no crontab -e. Então esperei alguns minutos até as 20h10, mas nada aconteceu.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
10 20 * * * test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
Eu acho que deve ter a sintaxe correta para as partes de execução, porque é executado quando eu movo o script cron.hourly
.
Parece que cron
está funcionando, mas anacron
não está. Então, minha pergunta é: o que posso fazer para começar a anacron
trabalhar?
@
, por exemplo, para executar ping apenas para incluir-me @terdon
no seu comentário) ao usuário que a solicitou. Precisamente como você fez. Eu esperava que houvesse um erro de sintaxe, mas tudo parece bem. Eu não tenho nenhuma experiência com anacron embora. Por que você não adiciona o comando que deseja executar ao crontab do usuário? * * * * * /path/to/fstrim
. Isso o iniciará a cada minuto e você pode pelo menos verificar se está funcionando.
cron
(não tenho certezaanacron
) usarun-parts
para executar os scripts/etc/cron.weekly
erun-parts
possui alguns requisitos muito rigorosos para a nomeação de scripts. Dê uma olhada nosman run-parts
detalhes (embora pareça que esse script deve funcionar bem). Teste também se ele é executado corretamente a partir do crontab (crontab -e
) do seu próprio usuário .