cygwinのcronでネットワークドライブに書き込みをする方法
Cygwinでネットワークドライブにアクセスする方法としてはcd //my-remote-drive/shareといったコマンドでアクセスし、書き込みできるようになっていますが、これがcronによるシェルスクリプト内で実行すると、権限の問題でアクセスができなくなってしまうという現象があります。
mountコマンドでネットワークドライブをマウントして書き込み
この問題を解決するには、あらかじめmkdir /mntコマンドでマウント用のディレクトリを作成して書き込みを行うという2ステップを踏むとうまくいきます。
1.マウント用のディレクトリ作成
$ mkdir /mnt
2.書き込み用のシェルスクリプトを作成
ここでは例を挙げて「my-remote-drive」というホスト名でアクセスできるネットワークドライブの「share」ディレクトリ内に「archive.tar」ファイルを書き込みするシェルスクリプトを書いてみます。
#!/bin/sh
mount "//my-remote-drive/share" /mnt/share
tar cpf /mnt/share/archive.tar '/cygdrive/c/Documents and Settings/hoge/My Documents/archive'
これを例えば/home/hoge/bin/backup.shというパスに保存し、$ crontab -eで以下のように登録します。(毎朝04:00に実行)
0 4 * * * /home/hoge/bin/backup.sh
以上です。お役に立ちましたでしょうか?
2015-10-20