hi alle roots ;-)
jo ... ich hab hier ein klein bisserl ein komisches problem ...
ich mache jede stunde einen rsync via ssh auf eine 2te linux box um den datenbestand zu spiegeln. linux box 1 laeuft suse 9.3 und auf der 2ten kiste ein opensuse 10.2 ...
jede stunde wird nun 3 mal das rsync command via nen cronjob abgesetzt. hier ein auszug aus dem cronjob script ->
$rsyncDirs[] = "/Documents/";
$rsyncDirs[] = "/ThumbNails/";
$rsyncDirs[] = "/TrashCan/";
foreach ($rsyncDirs as $dir) {
$command = 'rsync -avz --delete -e ssh /srv/ssl/client/httpdocs' . $dir . ' root@domain.com:/srv/ssl/client/httpdocs' . $dir;
$shellResponse = _shellcmd($command);
echo $shellResponse;
}
es werden also 3 directories via rsync gesynct ...
connected wird via SSH und damit kein password abgefragt wird habe ich so ein PKA ... private key authentification ... eingerichtet. also ein known_hosts file in /.ssh auf die zweite linux box.
das funktioniert auch bestens und ich kann mich ohne probleme auf die box einlogen. leider muss ich mich auf die 2te box als user root einloggen, da sonst der rsync mit den file permissions nicht klar kommt.
deshalb habe ich auch das /.ssh/known_hosts file ein bisserl abgeaendert um die commands zu filtern bzw. zu restrictieren. zum anderen wird auch nur der zugriff von einer bestimmten IP erlaubt ->
am anfang in known_hosts steht nun also ->
from="123.23.23.123",command"/root/sshwrapper" ssh-rsa ..... etc
im script /root/sshwrapper steht folgendes ->
#!/bin/sh
case "$SSH_ORIGINAL_COMMAND" in
*&*)
echo "Rejected"
;;
*(*)
echo "Rejected"
;;
*{*)
echo "Rejected"
;;
*;*)
echo "Rejected"
;;
*<*)
echo "Rejected"
;;
*`*)
echo "Rejected"
;;
rsync*)
$SSH_ORIGINAL_COMMAND
;;
*)
echo "Rejected"
;;
esac
so ... nun kann der user root also NUR das rsync command laufen lassen.
wie gesagt, das funktioniert ALLES bestens und ich habe soweit auch keinerlei probleme mit dem setup ...
NUR alle paar stunden schlaegt dann der ERSTE aufruf vom rsync command fehl und ich bekomme folgende fehlermeldung ->
Doing RSYNC of Directories /Documents /ThumbNails /TrashCan ...
ssh: connect to host domain.com: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(359)
der ZWEITE und DRITTE aufruf funktioniert dann wieder einwandfrei ->
sent 35372 bytes received 20 bytes 70784.00 bytes/sec
total size is 41897814 speedup is 1183.82
building file list ... done
was natuerlich schon recht komisch ist ;-(
es ist auch kein muster zu erkennen. alle paar stunden nach zufallsprinzip schlaegt der SSH connet einfach fehl ...
nun dachte ich, dass meine 2te box vielleicht im standby modus ist und deswegen probleme hat zeitlich zu responden ... habe nun deswegen auch den powersave daemon abgeschaltet ... doch auch das scheint NIX zu bringen. weiterhin .. alle paar stunden schlaegt der ERSTE ssh connect einfach fehl ->
ssh: connect to host domain.com: Connection refused
rsync: connection unexpectedly closed (0 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(359)
jo ... soweit meine problem darstellung ... vielleicht kann mir ja ein anderer root hier nen tip geben was es denn noch sein koennte??
jetzt schon vielen dank fuer eure hilfe ;-)
becki
p.s. lasse ich den cronjob manuell laufen funktioniert ALLE IMMER 100%TIG!
rsync via ssh
-
- Posts: 8
- Joined: 2006-09-21 09:14
Re: rsync via ssh
jo ... hallo ;-)
eine weitere rsync option mit --timeout=60 hat das problem nun soweit behoben.
das script laeuft nun seit 2 tagen fehlerfrei und es gab keine connection refused errors mehr ...
vielleicht war das ja die loesung? ich werde auf jeden fall noch mal weiter beobachten ...
becki
eine weitere rsync option mit --timeout=60 hat das problem nun soweit behoben.
das script laeuft nun seit 2 tagen fehlerfrei und es gab keine connection refused errors mehr ...
vielleicht war das ja die loesung? ich werde auf jeden fall noch mal weiter beobachten ...
becki
-
- Posts: 8
- Joined: 2006-09-21 09:14
weiterhin connection refused!
jo also nochmals hallo,
war ein bisserl busy die letzte zeit und kam deswegen leider nicht dazu weiter updates zu posten.
also das setzen von --timeout=60 hat nun letztendlich leider auch nix geholfen. es sah zwar mal vorruebergehend so aus als haette ich das problem gefixt, doch nach ein paar tagen kamen wieder diese connection refused errors ... leider
tja .. so parse ich halt nun einfach den response von rsync durch und sobald ich ein connection refused detecte sende ich das rsync command dann einfach nochmals.
beim 2ten mal funktioniert das auch immer zu 100%
so ... wenn jemand noch ne idee hat an was das den liegen koennte ... ich wuerde mich riesig ueber einen tip bzw. anregung freuen. denn workarounda sind und bleiben halt einfach workarounds. des sollte ja eigentlich auch ohne funktionieren ;-)
also ... jetzt schon vielen dank fuer eure hilfe
mfg
becki
war ein bisserl busy die letzte zeit und kam deswegen leider nicht dazu weiter updates zu posten.
also das setzen von --timeout=60 hat nun letztendlich leider auch nix geholfen. es sah zwar mal vorruebergehend so aus als haette ich das problem gefixt, doch nach ein paar tagen kamen wieder diese connection refused errors ... leider
tja .. so parse ich halt nun einfach den response von rsync durch und sobald ich ein connection refused detecte sende ich das rsync command dann einfach nochmals.
beim 2ten mal funktioniert das auch immer zu 100%
so ... wenn jemand noch ne idee hat an was das den liegen koennte ... ich wuerde mich riesig ueber einen tip bzw. anregung freuen. denn workarounda sind und bleiben halt einfach workarounds. des sollte ja eigentlich auch ohne funktionieren ;-)
also ... jetzt schon vielen dank fuer eure hilfe
mfg
becki