- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Cygwin で Ftpを実行するTOOLを cronで実行したい。)
CygwinでFTPを実行するTOOLをcronで実行したい
このQ&Aのポイント
- Cygwinのcronを使用して自動的にFTPを実行する方法を調べています。FTPの実行時にユーザーIDとパスワードの入力を自動化する方法も知りたいです。
- Cygwinで作成したFTPを実行するシェルスクリプトをcronで自動的に実行したいです。しかし、cron実行時にユーザーIDの入力が求められてプロセスが停止してしまいます。ユーザーIDとパスワードを自動的に読み込む方法を教えてください。
- Cygwinのcronを使用してFTPを自動的に実行する方法を教えてください。また、ユーザーIDとパスワードを自動的に読み込む方法についても教えてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
う~んもう少し「このプログラム、誰が実行してる?」ってのを意識してスクリプト書くようにしたら良いだろうね。Q&A方式でお届けします。 Q.cygwinのcronって誰が実行しているの? A.特に設定をいじっていない場合、Windowsの「LocalSystemアカウント」で動作しています。cronから起動されるプログラムも同じです。 Q.cronで実行したプログラムが、私のホームディレクトリを見にいかない。 A.cronはLocalSystemアカウントが実行するので、あなたとは「違うユーザ」になります。なので、他人(=あなた)のホームを見に行くような事はしません。 以上の事から、cronで自動実行するftpコマンドは別個に設定が必要です。 cygwinのftpコマンドは $ ftp -s:filename で、filenameに入力する内容を書くとユーザに関わらず自動実行できそうだ。内容は以下のような風にして試してみると良いでしょう。 --------begin of filename-------- open hostname.tld anmochi anmochi@hostname.tld ls quit --------end of filename-------- 本当はもっと高度で便利な方法が色々あるんじゃけど、とりあえずこの方法を試してみてはどうかな。
お礼
anmochiさま、どうもありがとうございます。 教えていただいた様にFTP用のCommandFileを作成して FTPコマンドに与えたところ、無事に動作しました! Kshでの記述でしたので ftp -s:filename ではなく cat filename | ftp -n という記述になりました。 UnixだとcronがHome配下にある.netrcを読み込んでくれますが、 Windowsではビヘイビアが異なるのですね。 勉強になりました。 どうもありがとうございましたm(_ _ )m