Не удается запустить скрипт при запуске в Debian 7

2109
mulllhausen

Я хочу, чтобы этот скрипт запускался при запуске на моем сервере 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 &) 

Есть идеи, почему это не работает?

0
Что-нибудь интересное в файле `/ tmp / bitcoind.out`? Braiam 10 лет назад 0
Нету. его пустым. Я думаю, что проблема будет той же самой с любым исполняемым файлом. я проверю это ... mulllhausen 10 лет назад 0

1 ответ на вопрос

0
mulllhausen

Оказалось, проблема была в биткойне, а не в 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 

Похожие вопросы