• ベストアンサー
※ 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とパスワードを自動的に読み込む方法についても教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.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-------- 本当はもっと高度で便利な方法が色々あるんじゃけど、とりあえずこの方法を試してみてはどうかな。

hina_0301
質問者

お礼

anmochiさま、どうもありがとうございます。 教えていただいた様にFTP用のCommandFileを作成して FTPコマンドに与えたところ、無事に動作しました! Kshでの記述でしたので  ftp -s:filename ではなく  cat filename | ftp -n という記述になりました。   UnixだとcronがHome配下にある.netrcを読み込んでくれますが、 Windowsではビヘイビアが異なるのですね。 勉強になりました。 どうもありがとうございましたm(_ _ )m

関連するQ&A