Оказалось, проблема была в биткойне, а не в cron. я не настроил bitcoind для запуска с правами root, поэтому он загружался при загрузке. я не уверен почему, но сообщение die не показывалось /tmp/bitcoind.out
. во всяком случае, когда я попытался только из командной строки, работающей bitcoind
от имени пользователя root, я получил
$ sudo bitcoind Error: To use bitcoind, you must set a rpcpassword in the configuration file: /root/.bitcoin/bitcoin.conf It is recommended you use the following random password: rpcuser=bitcoinrpc rpcpassword=xxxxxxxxxxxxxxxxxxxxxxxxx (you do not need to remember this password) The username and password MUST NOT be the same. If the file does not exist, create it with owner-readable-only file permissions. It is also recommended to set alertnotify so you are notified of problems; for example: alertnotify=echo %s | mail -s "Bitcoin Alert" admin@foo.com
поэтому я исправил это, запустив bitcoind как мой пользователь:
$ sudo crontab -e # note that this is still root's crontab! @reboot sudo -u myusername /usr/bin/bitcoind 2>&1 >/tmp/bitcoind.cron-out
и теперь он работает при загрузке. возможно, было бы лучше поместить это в мой собственный crontab? я не уверен, если это будет означать, что он запускается только когда я вхожу в систему как мой пользователь через? я проверю это позже позже сегодня и обновлю ответ, если это работает ...
Обновить
да, он все еще работает, даже когда я не авторизуюсь, если я удаляю запись из crontab root и затем добавляю ее в crontab моего пользователя:
$ sudo crontab -e # note that this is still root's crontab! <delete last line/> <save and exit/> crontab: installing new crontab $ crontab -e @reboot /usr/bin/bitcoind 2>&1 >/tmp/bitcoind.cron-out crontab: installing new crontab