HDへのバックアップ-続き

さて、シェル・スクリプトを用いてバックアップを自動化するためにはどうすれば良いか?

方針としては、その該当するシェル・スクリプト、これを仮に command.shと名付けることにしましたが、このスクリプトの置き場所は、その該当する HDに置くことにしました

まずは HDに内容の無い command.shというファイルを作成します その前に、OSXから見て、該当の HDがどのような名前で認識されているか知らねばなりませんが、これには

$ df -k

と打ちます

そうすると僕の場合

Filesystem                        1K-blocks      Used Available Use% Mounted on
/dev/disk1                        975912960 719561052 256095908  74% /
localhost:/YGd**************4DJF2 975912960 975912960         0 100% /Volumes/MobileBackups
/dev/disk3                        976076800 947381836  28694964  98% /Volumes/TOSHIBA1TB

というものが戻ってきました 既に 1TBの内の 74%を使用していると書いてありますね この /dev/disk1 というのが僕の 1TB SSDということになります

そして、最後の /dev/disk3というのが MacBook Proに USB接続した portable HDであり、その名前は /Volumes/TOSHIBA1TB であることが狩りました おっと、こちらも 1TBの内の既に 98%を消費している、ということが分かりますね さて、この HDに command.shというファイルを作成するには

$ touch /Volumes/TOSHIBA1TB/command.sh

とすれば良いのです つまり、意味する所は、/Volumes/TOSHIBA1TB/command.sh というファイルを作成する、ということなのですが、実はこのままでは permission errorというエラーが出て叱られてしまいます

$ sudo touch /Volumes/TOSHIBA1TB/command.sh

このように頭に sudoというコマンドを付け、最高権限でコマンド touchを実行せねばなりません 当然この時には passwordを聞かれます

ここからが Unixである OSXはややこしいのです このままでは command.shを実行することはできません、それは僕が root権限でこのファイルを作成したからでなのです 実際にそうであることは以下のコマンドで分かります

$ ls -l /Volumes/TOSHIBA1TB

これに対して OS側が次のようなものを戻します

-rw-r--r--    1 root        wheel      0  6 17 18:28 command.sh

これが意味するところは、このファイルは rootのものであり、僕のものではない、ということです ですからまずはこのファイルの所有権を僕のもの、ここでは username  というユーザーということにしておますね、その僕のものにせねばなりません このためには所有者変更コマンドを発行します

$ sudo chown username /Volumes/TOSHIBA1TB/command.sh

これで再び

$ ls -l /Volumes/TOSHIBA1TB

とするとあらあら不思議

-rw-r--r--    1 username        wheel      0  6 17 18:28 command.sh

となり、このファイルの所有者が見事に username  に変更されました

投稿者: (KAMAKURA & SAPPORO)Dr_Radialist

Expert Interventional Cardiologist and Amateur Computer Programmer

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です