- 締切済み
リモートログインとコマンド実行を自動処理できますか?
やりたいことは、UNIX間のファイル転送で、 1.Cronで30分毎にSSHでリモートマシンへログイン 2.あるディレクトリにあるファイルをすべて取得 3.取得したファイルはすべて削除 の一連の処理を行いたいのですが どのような手法を使えばできるのでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- 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といったコマンドが記述できます。
お礼
sftpは全く知りませんでした。大変感謝しております。 パスワードが指定できれば自動処理できそうです。 自動ログイン処理を行うには、bshとかを使えばできるのでしょうか?