※当サイトの記事には、広告・プロモーションが含まれます。

サーバー間でファイルの権限の差分を確認できるのが分かったのは良いものの…

gigazine.net

国際エネルギー機関(IEA)が2024年1月24日に、AIや仮想通貨などのテクノロジーの急激な発展により、データセンターの消費電力が2026年までに倍増するとのレポートを発表しました。IEAはまた、再生可能エネルギー原子力発電といったクリーンエネルギーが、電力需要の伸びを上回るとの見通しも示しています。

世界のデータセンターが消費する電力は2026年までに日本の消費電力に匹敵するとの予測、AIや仮想通貨で倍増するエネルギー需要は原子力などの「クリーン」な電力がカバーすると国際エネルギー機関 - GIGAZINE

⇧ 謎なのは、放射性廃棄物を生み出す原子力発電をクリーンエネルギーと捉えてるのがね...

クリーンの意味が最早、何も分からん...

放射性廃棄物が蓄積されていっても、人間の寿命はたかだか100年ぐらいだから、今を生きてる人には影響ないしって考えが透けて見えるからして、後世の人のことはどうでも良いって考えっぽいですな。

まぁ、他に代替できる技術が無いということだとは思うけども、エネルギー問題は深刻ですな...

エネルギー資源が枯渇するまでに、革新的なエネルギーを生み出す技術を見つけることができないと、原始人のような生活に先祖帰りしそうですな。

とは言え、相当、歳月を経てからの話だとは思いますが...

サーバー間でファイルの権限の差分を確認できるのが分かったのは良いものの…

前に、

ts0818.hatenablog.com

⇧ Gitリポジトリで管理していた、.shファイルの実行権限が無くなっていたという話を取り上げたのですが、ふと、サーバー間でファイルの権限の差分を確認したいなと思ったので、実現方法を調べてみた。

ネットの情報によりますと、

qiita.com

dqn.sakusakutto.jp

qiita.com

⇧ diffコマンドを使う感じになると。

何やら、

ueqareer.net

⇧ joinというコマンドで1つのファイルに2つのサーバー間のファイルの情報を並べてから比較するというアプローチで取り組んでる方もいらっしゃると。

rsyncとか利用できる環境なのであれば、rsyncを使うのが良さ気かもなのですが、

milestone-of-se.nesuke.com

blog.vtryo.me

⇧ ファイルの属性や権限などなど、ファイルの全ての情報をコピー元からコピー先に引き継ぎたい場合は、rootユーザーで実行する必要があるようです。

rootユーザーは、セキュリティ上、云々かんぬんの話が出るけども、rootユーザーでしか実現できないならrootユーザーを使うので致し方ないよね?

話を、rsyncが使えない環境の場合に戻すと、サーバー間のファイルの権限を数字表記で抽出して、比較演算子で数字の大きさを比べて大きい方に合わせる感じになるんかな...

でも、結局、どのファイルの権限が正しいかは目視が必要になるんかな...

基準となるファイルの権限のリストが保持されていれば良いんだけど、AとBのサーバーがあったとして、Aの方だけで正しいファイルとBの方だけで正しいファイルが混在している状況になっていると、お手上げなんよな...

で、

orebibou.com

SSH接続経由でdiffするのは、ハマりどころがある模様。

とりあえず、

qiita.com

⇧ 上記サイト様にありますように、コマンドの実行結果を比較することもできるそうな。

ssh [ユーザー]@[転送先ホスト] "[実行したいコマンド]" | diff -y - <(実行したいコマンド)

⇧ 分かり辛いのだけど、「-(ハイフン)」が転送先のホストで実行したコマンドの実行結果を表わす標準出力ということらしい。

処理の流れ的には、

  1. 転送先のホストにSSH接続
  2. 転送先のホストでコマンド実行
  3. 転送先のホストで実行されたコマンドの結果を標準出力として受け取る
  4. コマンドを実行する
  5. 3と4の結果をdiffで比較する

⇧ のような感じになるんかな。

実行したいコマンドが長くなる場合に関数とかに切り出して、関数を実行する形にできないものか...

ChatGPTによる提案だと、

#!/bin/bash

# 関数定義
exec() {
    # 実行したいコマンド
    実行したいコマンド
}

# 関数呼び出し
ssh [ユーザー]@[転送先ホスト] "$(declare -f exec); exec" | diff -y - <(exec)

⇧ のようなことが実現できるって話なんだが、本当に動作するのか怪しいですな...

stackoverflow.com

unix.stackexchange.com

unix.stackexchange.com

⇧ う~む、実現できるのか分からん...

シェルスクリプトは実現できることが本当に分かり辛い...

シェル芸とかいう言葉が出てきてしまうぐらいだから、紛う方なきカオスなんよな...

毎度モヤモヤ感が半端ない...

今回はこのへんで。