Не удается получить скрипт для запуска при запуске в Debian 7
Я хочу, чтобы этот скрипт запускался при запуске на моем сервере Debian Wheezy:
/usr/bin/bitcoind
вот и я
$ sudo crontab -e
@reboot /usr/bin/bitcoind 2>&1 >/tmp/bitcoind.out &
Затем сохраните и выйдите из файла. crontab уведомляет меня:
crontab: installing new crontab
Затем я перезагружаюсь:
$ sudo shutdown -r 0
но когда я загружаюсь снова, скрипт не работает:
$ ps aux | grep bitcoind
# *blank*
Однако я вижу эту запись в /var/log/syslog
:
Dec 15 22:25:02 mypcname /USR/SBIN/CRON[2886]: (root) CMD (/usr/bin/bitcoind 2>&1 >/tmp/bitcoind.out &)
Есть идеи, почему это не работает?
1 ответ
Оказалось, что проблема была с биткойн, а не cron. я не настроил bitcoind для запуска с правами root, поэтому он загружался при загрузке. я не уверен почему, но сообщение die не показывалось в /tmp/bitcoind.out
, во всяком случае, когда я пытался только из командной строки работает bitcoind
как корень я получил:
$ 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