erro cron: nome de usuário incorreto

2

Basicamente, reescrevi a saída do terminal em vez de anexar uma série de edições a essa pergunta:

root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# tail /var/log/syslog 
Dec 21 11:35:01 doge cron[820]: (*system*doge2) RELOAD (/etc/cron.d/doge2)
Dec 21 11:35:01 doge cron[820]: Error: bad username; while reading /etc/cron.d/doge2
Dec 21 11:35:01 doge cron[820]: (*system*doge2) ERROR (Syntax error, this crontab file will be ignored)
Dec 21 11:38:01 doge cron[820]: Error: bad command; while reading /etc/cron.d/doge3
Dec 21 11:38:01 doge cron[820]: (*system*doge3) ERROR (Syntax error, this crontab file will be ignored)
Dec 21 11:56:01 doge cron[820]: Error: bad command; while reading /etc/cron.d/doge4
Dec 21 11:56:01 doge cron[820]: (*system*doge4) ERROR (Syntax error, this crontab file will be ignored)
Dec 21 11:56:01 doge cron[820]: (*system*doge) RELOAD (/etc/cron.d/doge)
Dec 21 11:56:01 doge cron[820]: Error: bad command; while reading /etc/cron.d/doge
Dec 21 11:56:01 doge cron[820]: (*system*doge) ERROR (Syntax error, this crontab file will be ignored)
root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# cat doge
* * * * * /home/digger/webxass
root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# cat doge2
* * * * * /home/digger/cpuminer/minerd -o stratum+tcp://doge.pool.webxass.de:3333 -O <user>.<worker>:<worker_password>

root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# cat doge4
* * * * * /home/digger/webxass
root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# cat /home/digger/webxass 
/home/digger/cpuminer/minerd -o stratum+tcp://doge.pool.webxass.de:3333 -O <user>.<worker>:<worker_password>
root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# /home/digger/cpuminer/minerd -o stratum+tcp://doge.pool.webxass.de:3333 -O <user>.<worker>:<worker_password>
[2013-12-21 11:57:09] 1 miner threads started, using 'scrypt' algorithm.
[2013-12-21 11:57:09] Starting Stratum on stratum+tcp://doge.pool.webxass.de:3333
[2013-12-21 11:57:09] Stratum detected new block
[2013-12-21 11:57:11] thread 0: 4104 hashes, 6.24 khash/s
[2013-12-21 11:57:43] Stratum detected new block
[2013-12-21 11:57:43] thread 0: 211512 hashes, 6.46 khash/s
[2013-12-21 11:58:43] thread 0: 387384 hashes, 6.47 khash/s
[2013-12-21 11:58:48] Stratum detected new block
[2013-12-21 11:58:48] thread 0: 32964 hashes, 6.47 khash/s
^C
root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# cat /home/digger/webxass
/home/digger/cpuminer/minerd -o stratum+tcp://doge.pool.webxass.de:3333 -O <user>.<worker>:<worker_password>
root@doge:/etc/cron.d# 
root@doge:/etc/cron.d# su digger
digger@doge:/etc/cron.d$ 
digger@doge:/etc/cron.d$ /home/digger/webxass 
[2013-12-21 11:59:51] 1 miner threads started, using 'scrypt' algorithm.
[2013-12-21 11:59:51] Starting Stratum on stratum+tcp://doge.pool.webxass.de:3333
[2013-12-21 11:59:51] Stratum detected new block
^Cdigger@doge:/etc/cron.d$ 

Existe algum tipo de erro de sintaxe, mas não sei o que é.

Eu realmente não entendo o erro "bad username", digger é um usuário válido. Qual nome de usuário é ruim? O digger nome de usuário no sistema?

    
por Thufir 21.12.2013 / 17:08

3 respostas

6
* * * * * digger /home/digger/webxass

é a sintaxe correta.

    
por Thufir 21.12.2013 / 18:15
5

Como foi respondido, o usuário deve ser especificado. Isso me intrigou porque eu tinha visto funcionar sem o usuário em outra máquina. Só quero acrescentar que é necessário porque é um trabalho do sistema . Do manual:

Trabalhos em /etc/cron.d /

As tarefas no cron.d e / etc / crontab são tarefas do sistema, que são usadas geralmente para mais de um usuário, assim, adicionalmente, o nome de usuário é necessário. MAILTO na primeira linha é opcional. EXEMPLO DE UM TRABALHO EM /etc/cron.d/job

   #login as root
   #create job with preferred editor (e.g. vim)
   MAILTO=root
   * * * * * root touch /tmp/file

Fonte: link

Agora, por que eu vi entradas do / etc / crontab sem que o usuário aparentemente trabalhasse em outra máquina? Acontece que havia um link simbólico apontando para ele em: / var / spool / cron / crontabs (raiz - > / etc / crontab). Ha! Não é o que eu recomendaria, a propósito.

    
por Nagev 09.02.2017 / 18:05
1

Seu script de shell será executado apenas uma vez por hora, para ser executado a cada minuto, o conteúdo de cat /etc/cron.d/doge deve ser o seguinte:

* * * * * /home/digger/webxass

em vez de

1 * * * * /home/digger/webxass

Para todos os erros relacionados às tarefas agendadas, consulte /var/log/syslog .

    
por jobin 21.12.2013 / 17:11