• 締切済み

リモートログインとコマンド実行を自動処理できますか?

やりたいことは、UNIX間のファイル転送で、 1.Cronで30分毎にSSHでリモートマシンへログイン 2.あるディレクトリにあるファイルをすべて取得 3.取得したファイルはすべて削除 の一連の処理を行いたいのですが どのような手法を使えばできるのでしょうか?

みんなの回答

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.2

>パスワードが指定できれば自動処理できそうです。 パスフレーズのない認証鍵を作成すればできます。 ●クライアント(データをとってくる側)で認証鍵を作成。 % ssh-keygen -t rsa1 -N "" -f ~/.ssh/identity ●認証鍵をSSHサーバ(データのある側)に仕込んでおく。 ●クライアント側でcrontabでsftpを実行する 30 22 * * * /usr/bin/sftp -1 -b script hogehoge@192.168.1.1 (script) get work.dat rm work.dat こんな感じで、22:00にwork.datをサーバからローカルに移動できました。 参考にしてください。

  • xjd
  • ベストアンサー率63% (1021/1612)
回答No.1

SSH(OpenSSH)を使ったファイル転送でよく使うのは scp sftp rsync です。 scpはリモート間のファイルコピー rsyncはリモート間のディレクトリの同期 です。 転送元のファイルを削除したいという要件があるのでsftpが使えると思います。 sftp -b バッチファイル名 ユーザ名@リモートホスト名 バッチファイルにput、rmといったコマンドが記述できます。

matchori
質問者

お礼

sftpは全く知りませんでした。大変感謝しております。 パスワードが指定できれば自動処理できそうです。 自動ログイン処理を行うには、bshとかを使えばできるのでしょうか?

関連するQ&A

専門家に質問してみよう