etckeeperを使ってGitHub経由に/etcファイルをバックアップ

2022/02/20

Linux RaspberryPi

t f B! P L

Linux系をよく触っていると頻繁に/etc配下のファイルを編集することになるよね。

そういった/etc配下をgitでバージョン管理しようってのが、"etckeeper"というツールなんだけど、

ちょっとした設定でGitHubにアップロードすることができるそうな。

というわけで、早速手持ちのRaspberryPi4にetckeeperをインストール、GitHubへアップロードをやってみた。


GitHubにリポジトリ作成

既にGitHubのアカウントを持っている前提で。

GitHubの自分のアカウントページにアクセスして、

画面右上の+ボタンから「New repository」をクリックする。


専用のリポジトリを作成する。

適当にリポジトリ名を入力して、「Private」(非公開)でOK。


SSH鍵の生成とGitHubに登録

サーバからGitHubへはSSHでアクセスすることになる。

なので、SSH鍵を生成し、GitHubに登録する必要がある。

※登録手順はこちらも参照。


鍵を生成する場合はRaspberryPiで以下のコマンドを実行。

sudo su
mkdir ~/.ssh
cd ~/.ssh
ssh-keygen -t rsa -b 4096
chmod 600 id_rsa ir_rsa.pub
cat id_rsa.pub

id_rsa.pubの内容をコピーする。

次にGitHubの自分のプロファイル設定ページにアクセスする。


左側の「SSH and GPG keys」をクリックして、

「New SSH key」をクリックする。


Titleに適当な名前、

Keyにコピーした内容をペーストして、「Add SSH key」で登録。


あとは~/.ssh/configに以下を追記する。

cat ~/.ssh/config
Host github github.com
  HostName github.com
  IdentityFile ~/.ssh/id_rsa
  User git


確認ということでsshコマンドでGitHubにアクセスできればOK。もちろんユーザーはrootユーザー。

ssh -T github
Hi pipiron! You've successfully authenticated, but GitHub does not provide shell access.

etckeeperインストール

次にetckeeperをインストールする。

あ、EPELリポジトリを登録してる前提なので、EPEL登録してなかったら登録してくださいw

gitコマンドもインストール済みという前提なので、gitもなければgitもインストール。

sudo apt install etckeeper


etckeeper設定

設定。

まずは初期化。

/etc配下のファイルを触るので、rootユーザーにsuしたほうが楽かも。

sudo su
etckeeper init
cat /etc/etckeeper/etckeeper.conf

etckeeper.confを編集する。

まずは以下の通りになっていることを確認する。

VCS="git"

そのまま一番最後の行に以下を書く。

PUSH_REMOTEが空欄になっているはずなので、"origin"を追記する。

PUSH_REMOTE="origin"

リモートリポジトリ登録

gitコマンドでpushできるようにリモートリポジトリを登録する。

xxxx=GitHubユーザー名

hogehoge=作成したリポジトリ名

と読み替えてください。

git remote add origin git@github.com:xxxx/hogehoge.git

あとは以下のコマンドを実行してGitHubにアップロードされる。

git push -u origin master
Warning: Permanently added the ECDSA host key for IP address '13.114.40.48' to the list of known hosts.
Enumerating objects: 1471, done.
Counting objects: 100% (1471/1471), done.
Delta compression using up to 4 threads
Compressing objects: 100% (955/955), done.
Writing objects: 100% (1471/1471), 1.88 MiB | 1.54 MiB/s, done.
Total 1471 (delta 87), reused 0 (delta 0)
remote: Resolving deltas: 100% (87/87), done.
To github.com:pipiron/etckeeper.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.

んで、GitHub上になんかできてたらOK。


毎日実行するための設定

/etc/etckeeper/dailyを編集して、日時でgit pushするようにする。

etckeeper commit "daily autocommit" >/dev/null

と、なっているところを以下に変える。(1行追加)

etckeeper commit "daily autocommit" >/dev/null
git push -u origin master


以上!終わり。

GitHubは全く使わないので、使い方とかよくわからん・・・w

また暇があったら勉強してみようかな〜。


というか、Raspberry Piのバックアップなら、

その都度SDの中身を丸々バックアップすればいいかと。

検索

Blog Archive

Popular Posts

About Me

自分の写真
性別:男
年齢:ついに40over
趣味:Snowboard、パソコン、iPhone、子育て

仕事:ユー子の社内SEとしてサーバ、NW等のインフラ全般をやってます

日々生活していく中で思ったことなどをつらつらと書いていきます。

どうぞよろしく!

ブログランキング

ブログランキング・にほんブログ村へ

QooQ