はじめに
こんにちは。
サーバでディスクを追加した時などにblkidから/etc/fstab
へUUIDを書き込むときにコピペが面倒なので変換するスクリプトを書きました。
後ろのbash
に「抜き出したいドライブレター」と「マウントポイント」を書くとそれっぽく吐き出します。
$ curl -sL https://goo.gl/KioV7L | bash -s /xvdb /mnt/hoge
UUID=123455-ba64-4142-93fb-8f278e7a2b0b /mnt/hoge xfs defaults 0 0
tee
やsudo sh -c
などで/etc/fstab
に書き出すと良いです。
$ curl -sL https://goo.gl/KioV7L | bash -s /xvdb /mnt/hoge | sudo tee -a sudo /etc/fstab
UUID=123455-ba64-4142-93fb-8f278e7a2b0b /mnt/hoge xfs defaults 0 0
マウントできるか確かめます。
$ mount -a
スクリプトの中身
blkid | grep $1 | sed -r 's#^.*UUID="([a-Z0-9\-]+)".*TYPE="([a-Z0-9\-]+)".*$#UUID=\1\t'$2'\t\2\tdefaults\t0\t0#'
こんな感じになっています。
blkid
の戻り値にダブルクォートが入っているのでそれを取り除きつつ、fstabの書式に合わせています。
注意点
/dev/xvdb
などのドライブレターはgrep $1
で抜いているだけなので、dev
みたいにゆるい書き方をすると複数行抜かれてしまいます。
真ん中に変数があるのはいただけない気も。
というかすでにこういうスクリプトというかblkid
のオプションでありそうな気がしますが気にしないようにします!
参考サイト
助かりました。
http://yut.hatenablog.com/entry/20111013/1318436872
https://qiita.com/koara-local/items/2911bd81df2420a420ad
https://qiita.com/todanano/items/5be0f9a85602844d2c2d
http://program.station.ez-net.jp/special/handbook/sh/variables/sed.asp