En gros, j'ai réécrit la sortie du terminal au lieu d'ajouter une série de modifications à cette question:
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$
Il y a une sorte d'erreur de syntaxe, mais je ne sais pas ce que c'est.
Je ne comprends vraiment pas l'erreur "Nom d'utilisateur incorrect", digger
est un utilisateur valide. Quel nom d'utilisateur est mauvais? Le nom d'utilisateur digger
dans le système?
* * * * * digger /home/digger/webxass
est la syntaxe correcte.
Comme il a été répondu, l'utilisateur doit être spécifié. Cela m'a rendu perplexe parce que je l'avais vu fonctionner sans l'utilisateur sur une autre machine. Je veux juste ajouter que c'est nécessaire car il s'agit d'un travail système . Du manuel:
Jobs dans /etc/cron.d/
Les travaux dans cron.d et/etc/crontab sont des travaux système, généralement utilisés par plusieurs utilisateurs. Par conséquent, le nom d'utilisateur est également nécessaire. MAILTO sur la première ligne est facultatif. EXEMPLE D'UN EMPLOI DANS /etc/cron.d/job
#login as root
#create job with preferred editor (e.g. vim)
MAILTO=root
* * * * * root touch /tmp/file
Source: http://man7.org/linux/man-pages/man5/crontab.5.html
Maintenant, pourquoi ai-je vu les entrées/etc/crontab sans que l'utilisateur ne travaille apparemment sur une autre machine? Il s'avère qu'il y avait un lien symbolique qui le pointait dans:/var/spool/cron/crontabs (root ->/etc/crontab). Ha! Ce n'est pas ce que je recommanderais, au fait.
Votre script Shell ne s'exécutera qu'une fois par heure. Pour l'exécuter toutes les minutes, le contenu de cat /etc/cron.d/doge
devrait être le suivant:
* * * * * /home/digger/webxass
au lieu de
1 * * * * /home/digger/webxass
Pour toutes les erreurs liées aux tâches cron, voir /var/log/syslog
.