Quantcast
Channel: mura日記 (halfrack)
Viewing all articles
Browse latest Browse all 50

chown -R による壊滅的な状況を切り抜ける方法

$
0
0

ある日、ぼーっと DB のコピーをした後に、コピー元と uid が違っていたので以下のようなコマンドを叩いた。ぼーっと。

chown -R mysql:mysql ../

これを叩いたときのカレントディレクトリは /var/lib/mysqlである。ドットが一個多いので /var/lib 以下が全部 mysqlになって大惨事。
こういうとき FreeBSDだったらmtreeを使うんですが、 GNU/Linuxだと無いようなのでどうするねん。と困っていたところ、 satoh_fumiyasu@ さんに getfacl/setfacl というポインタを教えてもらいました。
同一構成の適当なホストからパチってきて合わせる。

-bash-3.2# hostname
rokuchotouge
-bash-3.2# pwd
/var
-bash-3.2# getfacl -R lib | nc tochugoe.localdomain 30000
-bash-3.2# 
-bash-3.2# hostname
tochugoe.localdomain
-bash-3.2# pwd
/var
-bash-3.2# nc -l 30000 | setfacl --restore=-
setfacl: lib/hoge: No such file or directory
(snip)
-bash-3.2# 

残りは ls -Rl | grepmysqlとかで探してよきに計らう。
10年に一度ぐらいしか作らないようなホストを作る最後の方でヘマやらかして、作り直しに心折れていたところなので大変役に立ちました。


Viewing all articles
Browse latest Browse all 50

Trending Articles