小ネタ:バックアップのシェルスクリプト

あちこちに散らばるとモノを探すだけのために時間を使っちゃうことになるんで、こっちにメモ。
linux mintにした2011年のMac mini。HDDもそうだし、いろいろ老朽化しても頑張ってくれてる。
ただ、これからまたくっそ暑い日本の夏でちょっと心配。
てことで、バックアップ用のシェルスクリプトを用意。
USBメモリにrsyncで保存するだけなんだけど、スクリプトでは確認事項を盛り込んだ。
- 外付けのUSBメモリがささってるか確認
- USBメモリがマウントされてるか確認
- バックアップ用のUSBメモリなのか確認
以上を確認して
→USBメモリがささってなかったらメッセージを表示して終了。
→マウントされてなかったらマウントする。
→USBメモリがバックアップ用じゃなければメッセージを表示して終了。
普段使うスクリプトやデータなんかはLANで繋げてるノパソでも使えるように、作業が終わったらrsyncをしてるんでいいとして、今回のバックアップ対象はHOMEの下のPublicディレクトリとドットファイル群。
(Publicという名前だけど、中身はもろもろがっつりプライベートな写真などのデータ)
#!/bin/bash
dev=/dev/sdb1
usb=/mnt/usb
if [ ! -b $dev ]; then
echo 'Not Found' $dev
exit 1;
fi
if ! findmnt $usb > /dev/null 2>&1; then
echo "mount $usb ..."
sudo mount $dev $usb
fi
public=/home/username/Public
backup=$usb/backup
if [ ! -d $backup ]; then
echo "not found $backup"
exit 1;
fi
sudo rsync -rlptuv $public/ $backup
DOTFILE=$HOME/dotfile.zip
zip -r -u $DOTFILE .profile .bash* .vim* .skk* .ssh* .netrc .config/ibus-skk* bin* .local/share/lftp
sudo cp $DOTFILE $backup/
普段なんでもかんでもperlで片づけてるんで、シェルスクリプトはほとんどわかってなくて、検索しまくり。
bash の testコマンドの「-b」オプションでブロックデバイスの有無を判定できるなんて知らなかった。if文でもコマンドの返り値の判定に「!」が使えるのも今回初めての改めてだった。

毎年6月前半は菖蒲祭り。6/14の最終日、今年も賑やかで華やかでありました。
公園、野外で飲むビールは最高ですねー
ポケモンGO:ルギア最強説

思わず笑ってしまうルギアの強さだった。
思念の頭突き・マジカルシャインのハピナスcp2996相手に、技をいっさい避けず足を止めての殴りあいで勝ってしまってビックリ。
ここんとこのマイブームというか先日も書いたように種族値の高い伝説ポケモンを強化してるわけだけど。集中強化選手のホウオウでソラビと大文字のどっちがええんだろうとCP3000級のハピナスを見つけては試行錯誤。ハピナスのゲージ技だけ避ければソラビも大文字も同じようにギリ勝てる。一発一撃の威力はソラビ、少し硬直が短かくてたぶんソラビより数撃てる大文字。なかなか実感できる差がつかなくて弱ったなあ、とか思ってたところだ。
cp2996のハピナスがジムの先頭にいたので、たまには、やっぱり強化中のルギアを先発起用することにした。
ちょっと前にレイドボスのカイリキーをルギア単騎で倒す攻略動画をみたこともあって、気にはなっていたのだ。

ルギアのcpは3163。
個体値的にはHP15/攻撃15/防御10で90%に届かない。
技はじんつうりきとゲージ技にゴッドバード。
天候は「ときどき晴」でルギアもハピナスもブーストなしの素の状態。
ただただひたすら脳死連打。
途中で、え?マジか、と。
ルギアよりハピナスのライフゲージの減りかたがほんの少しだけ早いのだ。
ゴッドバードよりもマジカルシャインの方がダメージは大きいんだけど、ゴッドバードは硬直も短くて連発が効く感じだ。
結局30秒弱残してルギアの勝ち。
HPはあと一発マジカルシャインを食らったらこちらが終了するギリのところ。
とはいえ、時間は30秒弱も殘ってるから多少避けても大丈夫。それでも時間内に勝てそう。
CP3000級のハピナス相手に攻撃をいっさい避けず30秒残しで勝てるポケモンは他にいないだろう。
ルギア最強、だ。一匹はカンスト、MAX強化しよう。
Diskette drive 0 seek failure

タイトルのエラーが出てビビったのでメモ。
わたしがウチで使うWINDOWSのデスクトップは「DELL Inspiron 530S」という古い機種。2007年発売だからもう8年前。
普段使っているのはmac miniで、WINDOWS環境が必要な場合はDELLのネットブック「Inspiron mini 1012」で十分。
デスクトップを使うのはデータ入力作業やWEBの管理ページを使う時ぐらい(ネットブックは画面が狭い&cpuが非力でJavascriptごりごりのページなど動作が重い)
先日、久しぶりに立ち上げたら
Diskette drive 0 seek failure
というエラーメッセージ。
起動ドライブが見つからないということ。
なんかよくわからんので、そのまま無視して立ち上げるとHDに異常はなく、いつもどおりに立ち上がった…と思ったら日付が2007年1月1日になっていた。とりあえず日付を合わせて問題なく使えた。
でも、やはり次に立ち上げると同じ症状。
てことで検索。
http://ja.community.dell.com/support_forums/desktops/f/144/t/1617
エラーの原因はボタン電池CR2032の消耗だった。
CMOSはボタン電池で内容を保持しているのでボタン電池が消耗したことによって、設定などが初期化されてしまっていたということ。
我が家の物理担当であるヨメにマザーボードのボタン電池を交換を交換してもらって、BIOSメニューでフロッピーをdisabledにして時計を合わせて解決した。
(電池を交換すれば解決するかと思ったらBIOSメニューで設定しなおさなきゃいけない)
まさかボタン電池の寿命がくるとは。
XPが終了して7にしたばかりで、引き続きWINDOWS10でも使えそうだし、まだまだ現役でいてもらわないと困る。

[更新]2015-06-20 10:33:30
dvipdfmx の フォント埋め込み

paypalを利用してのダウンロード販売ページは、ほぼ完成。デバッグとテストを繰り返しているところ。後は本番環境でひと通りやって、解説ページを作って、肝心の電子書籍=PDFの校正をやれば正式オープン。
て、ことで、PDFを作り直してみたら。
dvipdfmxでフォントの埋め込みに失敗していた。
Could not locate a virtual/physical font for TFM ”rmlv”
Please check if kpathsea library can find this font
あーだこーだやって、ぐぐりまくり…拡張子を .otf から .ttc にリネームすればいいだけの話だった。がっくし。
paypalとダウンロード販売について、そのうちココに、メモを残しておこう。
[06/20 10:31:04]
って、一夜明けたら、また dvipdfmx のエラーが。なんでやねん。
[06/20 14:38:50]
うそっ!カレントディレクトリにフォントがないとダメ、てアンタなんじゃそりゃ。
[更新]2026-02-03 09:19:14
ちかりたび(死語)

サイトリニューアル作業でもう腹一杯胸やけ起こすほどhtmlにcssにphpにデータベース漬け。レイアウトからデザイン、部品作りに動的ページの表出調整、エディタでがしがしコーディングと、ひとりで全部やるのでちょっとへたり気味かも。phpのスクリプトは、オブジェクト指向というやつで奇麗にクラスを作ってもらってあるので深いところまで触る必要がないので助かる。
で、こういう状況、ウチでスクリプトをいじろうという気力体力が出ないんだよなぁ。
読書snsの方は新ネタが思いつかず、ひそかに地味なバグ取り作業。
おれさま地図 http://map.doncha.net/ は ajaxによる通信部分でちょっとつまづき。
こんな時はふたたびみたび気楽な再読本。今日は「リオの狼男」だ。



