2017/10/12

[btc]systemctlでbitcoindを起動させておく

当たり前だが、bitcoindは起動していない間はblockchainの同期を行ってくれない。
testnetしか使わない私だが、作業するたびに同期時間がかかるのは嫌なので、VMを立ち上げたときは起動したままにしているし、クラウド上のものもそうしている。

ただ、Linux自体を再起動したときに起動し忘れることが多々ある。
うちではUbuntuを使っていて、serviceよりもsystemctlを使うような感じがしたので、メモを残しておく。


Sample init scripts and service configuration for bitcoind

bitcoindのgithubに、簡単な説明が書かれているので、基本的にはこれに従う。


説明では、データを/var/lib/bitcoindに置くようだが、既に運用しているデータフォルダがあるし、ユーザも1人しかいないので、そっちを使い回すことにする。

systemdの場合はここに書いてあったが、Ubuntu16.02には /usr/lib/systemd/system というディレクトリが無かった。
作るほどでもないと思うので、 /etc/systemd/system に bitcoind.serviceというファイルを置いた。
個人のものをsystemd/systemに置くのもどうかと思うが、一人だと迷惑はかからんだろう。


ファイルの中身も、githubにサンプルが上がっている。
bitcoin/bitcoind.service at master · bitcoin/bitcoin

PIDは何番でもいいし、wallet機能はいるし、さっき書いたようにユーザも固定したいのでそこら辺だけ変更している。
UserとGroupが個人のもので、今運用しているのだったら、ExecStartは「/usr/bin/bitcoind -daemon」くらいで済んでしまう。

他の設定は、変更してもよいのだろうけど、このままでも困りそうにないので残した。


あとは、これだけやれば起動した。

$ sudo systemctl enable bitcoind.service
$ sudo systemctl start bitcoind.service

reloadするようなコマンドを打たないとダメだったような気がするのだけど、動いてるな・・・。
まあ、reloadせんといかんときはメッセージが出てきた気がするので、それに従えばいいんじゃなかろうかね。

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。