僕のYak Shavingは終わらない

車輪の再発明をやめたらそこには壮大なYakの群れが

リモートサーバー同士でcronでrsyncしたいときの設定

手っ取り早い方法。もっといい方法はあるはずだけどとりあえずこれで。

ローカルから鍵を使ってリモート①に入って、リモート②のデータをrsyncで同期したいよみたいなときは、①と②でちゃんと秘密鍵と公開鍵の設定をしていないとcronで行うsshrsyncでコケるけど、ちょっとそれわざわざ設定するのめんどくせぇなってとき。

f:id:kazuph1986:20130501100032p:plain

手順

  • SSH_AUTH_SOCKを出す
  • 結果をcronに書いちゃう
  • SSHをつなげたまま帰る(PC自体はロック、スリープはしないように設定)
# echo $SSH_AUTH_SOCK
/tmp/ssh-**********/agent.****

もしくは以下のようにもできる
# ls /tmp/ssh-*/agent.*
/tmp/ssh-**********/agent.****

crontabの設定

# 書いちゃう
SSH_AUTH_SOCK=/tmp/ssh-**********/agent.****

# 夜中にrsyncを回して
35 1 * * * root rsync -avr -e "ssh -c arcfour" --rsync-path="ionice -c3 nice -n 19 rsync" myserver-nfs:/data/hoge /data >>/var/log/rsync.log 2>>/var/log/rsync_error.log

# 朝方に止める
35 7 * * * root pkill -f 'rsync' >>/var/log/rsync.log 2>>/var/log/rsync_error.log

sshを繋ぎ直したらSSH_AUTH_SOCK都度書き換える必要あり。




とりあえず椅子怖い((((;゚Д゚))))ガクガクブルブル