Pagina 1 van 1

synology ssh script vraag

Geplaatst: 25 jul 2014, 19:40
door StarWing
Ik heb hier 2 syno's staan, de bedoeling is dat er 1 verhuist naar mijn ouders en dat ik dan om de X tijd een backup doe van mijn syno naar de backup syno.

Aangezien telenet zo liev is om de nodige poorten voor de synology backup te blocken ben ik het anders aan het oplossen.

De bedoeling is dat mijn syno eerst een VPN opzet, dan de backup task start en dan de vpn verbreekt zodat beide syno's gaan hibernaten.

Ik ben reeds zover dat ik een script heb dat:
kijkt of de vpn op is
indien niet, de vpn zal starten
nadien slaag ik er ook in, om via datzelfde script de backup te starten. Maar hier schuilt het probleem.

Als ik de backup start via dit script, krijg ik geen "wait", wat wil zeggen dat direct de volgende lijn wordt uitgevoerd, zijnde de vpn stoppen.. en das ni goe eeh...

Code: Selecteer alles

if echo `ifconfig` | grep -q "ppp"
then
echo "VPN already up"
else
echo "starting VPN"
touch /usr/syno/etc/synovpnclient/vpnc_connecting
echo "conf_id=l1406271443" >/usr/syno/etc/synovpnclient/vpnc_connecting
echo "conf_name=naamindegui" >>/usr/syno/etc/synovpnclient/vpnc_connecting
echo "proto=l2tp" >>vpnc_connecting
synovpnc reconnect --protocol=l2tp --name=naamindegui --retry=5
fi

/usr/syno/bin/synobackup --backup 1/
Dus na het lijntje /usr/syno/bin/synobackup --backup 1
zou het script moeten wachten, maar dat doet hij niet, en voert de volgende lijn uit, dewelke normaliter de vpn gaat terminaten.
En krijg ik dus direct dit:

Code: Selecteer alles

Balullah> /usr/syno/bin/synobackup --backup 1
Balullah>
Iemand een id hoe ik dit creatief kan oplossen ?
quick & dirty zou ik er een timer kunnen insteken, maar dit geniet niet mijn voorkeur.

Re: synology ssh script vraag

Geplaatst: 26 jul 2014, 00:08
door Synman
Kan je niey opdelen in 2 scripts,
Eentje tot de backup start
En dan een ander dat kijkt of de backup nog actief is en indien niet de vpn connectie sluit.

Re: synology ssh script vraag

Geplaatst: 26 jul 2014, 17:43
door StarWing
Dat is het 'm just. Hoe kan ik uitvinden of de backup nog lopende is via de cli ?
Heb al tal van dingen geprobeerd, zonder enige goede output.

Re: synology ssh script vraag

Geplaatst: 26 jul 2014, 17:59
door StarWing
'k iets verder, maar kheb hulp nodig van enkele unix kenners.

Er is een proces actief, dat ik kan zien via ps.
Ik zou dus een
ps |grep -q "processnaam"
kunnen doen, dewelke een 0 / 1 geeft op de achtergrond.

Ik had gedacht van

Code: Selecteer alles

if echo `ps` |grep -q "process"
then echo "Backup Running"
else
sleep 5m

fi

**commando quit vpn**
En dat in een loopke.
Normaliter zou ik da oplossen met goto statements, maar die bestaan niet in bash :/
Hoe kan ik dit bash-scriptgewijs oplossen ?

Re: synology ssh script vraag

Geplaatst: 26 jul 2014, 18:35
door ubremoved_15739
Gebruik wait om de exit status van uw proces te kennen.
Dan kan je nog zien wat je doet met die exit code.
In ieder geval zal wait wachten tot uw proces afgelopen is (al dan niet succesvol).

Edit: nog een linkje ivm wait etc: http://stackoverflow.com/questions/1570 ... nd-process
Eventueel nog iets met "while, do, done". Afin, ja: creatief zijn is de boodschap. :wink:

En: BASH Programming - Introduction HOW-TO zal je zeker van pas komen.