パスワード認証のsshサーバからscpでファイルをコピーする作業は、手動の場合は非常に単純なものです。しかしこれをCronで実装するには、対話型でパスワードの入力を求められるため、作成するシェルスクリプトに少し工夫が必要です。 このような場合、expectコマンド(対話型アプリケーションの自動化)を使用して、シェルスクリプト中で「パスワードの入力を行う」処理を行います。 まず前提として、転送元ファイルが置いてあるサーバ名をcrestとします。アカウント名をcrest-user、転送元ファイルが置いてあるディレクトリを/home/crestとし、コピーするファイル名をexm.txtとします。また、転送先のPC名をbozとします。転送先のディレクトリを/home/bozとします。boz上でファイルをコピーしてくるシェルスクリプトをCronで動作させます。 シェルスクリプトは以下のようになります