この質問に一連の編集を追加する代わりに、基本的にターミナル出力を書き直しました。
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$
何らかの構文エラーがありますが、それが何なのかわかりません。
「不正なユーザー名」エラーを本当に理解していません。digger
は有効なユーザーです。どのユーザー名が悪いですか?システムのdigger
ユーザー名は?
* * * * * digger /home/digger/webxass
正しい構文です。
回答済みなので、ユーザーを指定する必要があります。これは、ユーザーが別のマシンを使用しなくても動作するのを見て、私を困惑させました。 システムジョブであるため、必要であることを追加したいだけです。マニュアルから:
/ etc/cron.d /のジョブ
Cron.dおよび/ etc/crontabのジョブはシステムジョブであり、通常は複数のユーザーに使用されるため、さらにユーザー名が必要です。最初の行のMAILTOはオプションです。 /etc/cron.d/jobでのジョブの例
#login as root
#create job with preferred editor (e.g. vim)
MAILTO=root
* * * * * root touch /tmp/file
ソース: http://man7.org/linux/man-pages/man5/crontab.5.html
今、ユーザーが別のマシンで作業しているように見えずに/ etc/crontabエントリを見たのはなぜですか?/var/spool/cron/crontabs(root->/etc/crontab)を指すシンボリックリンクがあったことがわかりました。ハ!ところで、私がお勧めするものではありません。
シェルスクリプトは1時間に1回しか実行されません。毎分実行するには、cat /etc/cron.d/doge
の内容は次のようになります。
* * * * * /home/digger/webxass
の代わりに
1 * * * * /home/digger/webxass
Cronジョブに関連するすべてのエラーについては、/var/log/syslog
を参照してください。