Rsyncタスクをcronジョブとして自動化したいと思います。パスフレーズが必要なため、cronジョブを実行できません。 rsyncコマンドと一緒にパスフレーズを指定する必要があります。そうしないと、パスフレーズをファイルに保存して、そこから読み取ります。私のコマンドは次のようになります。
rsync -aPe "ssh -i ' . $server->{'ssh_key'} . '" ' . $server_lock_dir;
では、パスワードはどこに置くのですか?
これを行う必要はありません。sshキーのペアを設定し、公開キーをリモートシステムの.sshディレクトリに配置するだけです。
次に、これを行うだけです。
rsync -a -e ssh /local/path/ server:/remote/path/
(ご了承ください -e ssh
はかなりの数年前からデフォルトになっているので、非常に古いバージョンを使用している場合を除いて、おそらく省略できます。)
キーの設定に関する「ハウツー」ガイドがあります ここ 。
これをcronから機能させたい場合は、いくつかの可能性があります。
ファイルをリモートでコピーする場合:
注意:
私のコマンドは次のようになります。
rsync -avz --progress -e "ssh -i /home/myaccount/.ssh/id_rsa"/home/myaccount/mysourcefolder remoteaccount @ remoteserver: "/ home/remoteaccount/mydestinationfolder /"