cygwinのcronでネットワークドライブに書き込みをする方法

20151020222545

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

以上です。お役に立ちましたでしょうか?

参考:
Cygwin, Crontab and Shared Windows Drives

このページをシェアする

コメントを残す

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

2015-10-20