cronjobのSFTPアップロードファイル

cronjobのSFTPアップロードファイル

SFTPを使ってAからBにファイルをアップロードしたいです。

Aのパス:/tmp/ABのパス:/tmp/B

サーバーBには独自のユーザー名とパスワードがあります。私のcronjobは10分ごとに実行され、/ tmp / Aの下に新しいファイルがあることを確認し、ファイルがある場合は送信し、それ以外の場合は送信しません。

ベストアンサー1

これを行うには、rsyncコマンドを使用できます。

rsyncを使用してリモートシステムと同期する方法

リモートシステムへのSSHアクセス権があり、両方にrsyncがインストールされている場合、リモートシステムとの同期は簡単です。 SSHキーを設定する必要があります。詳細な方法は次のとおりです。https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2

2つのシステム間のSSHアクセスを確認したら、次の構文を使用して古いフォルダのdir1フォルダをリモートシステムに同期できます(この場合は実際のディレクトリを転送しようとしているため、末尾のスラッシュを省略します)。

rsync -avz ~/dir1 username@remote_host:destination_directory

これをローカルシステムからリモートシステムにディレクトリをプッシュするため、「プッシュ」操作と呼ばれます。

おすすめ記事