パスワードが必要なときにcronjobでrsyncを使用する

パスワードが必要なときにcronjobでrsyncを使用する

デフォルトでは、バックアップを実行するためにサーバーからデータを取得するbashスクリプトがあります。

手動でスクリプトを起動し、パスワードを入力して完了するまで待つ必要があります。

バックアップを処理するためにcronjobを設定したいと思います。

しかし、cronjobでパスワードを処理する方法がわかりません。

また、プロバイダがキーを構成するために必要なメカニズムを提供しないため、キーは使用できません。

SSHを介してホームフォルダにアクセスできますが、ホームフォルダ内ではディレクトリを除いて書き込みアクセス権がありませんhttp(s)docs。したがって、~/.ssh/キーを介してログインするために必要なディレクトリとその内容を作成することはできません。

答え1

これは、他のマシンへのバックアップに使用するコマンドです。

rsync -av -e "ssh -i /root/ssh-rsync-valhalla-key" \
  --exclude lost+found \
  --delete-before \
  /mnt/backup/ \
  [email protected]:/cygdrive/r/\!Backups/Niflheim &

-iしたがって、.dllを使用してキーファイルをsshに渡すことができます。もちろん、あなたの例では、誰かがファイル名を見つけると、HTTPを介してキーファイル自体を共有できることを意味します。

答え2

デーモンを起動して実行できましたか?rsyncその場合、デーモンモードで実行できます。

その後、クライアントはrsync://URLを使用して接続します。認証のためにIPのみを制限できますが、SSHキーに対応するキーはないと思います。

次の内容を含め、どこにでも存在できるrsyncd.confが必要です。

[backup]
    path = /path/you/want/to/sync
    read only = true
    hosts allow = 1.2.3.4

その後、デーモンプロセスを開始します。

rsync --daemon --config=rsyncd.conf

その後、次から同期を試すことができます。

rsync -av rsync://server.ip/backup /local/backup/dir

関連情報