synology ssh script vraag

Wil je iets weten over de hardware van een computer? Draait je CPU fan niet meer? Je printer wil niet meer mee?
Dan moet je hier zijn.
Plaats reactie
StarWing
Elite Poster
Elite Poster
Berichten: 948
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 49 keer
Bedankt: 78 keer
Provider

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.
Synman
Plus Member
Plus Member
Berichten: 216
Lid geworden op: 28 jun 2013, 21:29
Locatie: Massemen (Wetteren) Belgium
Bedankt: 12 keer

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.
StarWing
Elite Poster
Elite Poster
Berichten: 948
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 49 keer
Bedankt: 78 keer
Provider

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.
StarWing
Elite Poster
Elite Poster
Berichten: 948
Lid geworden op: 28 jan 2006, 18:21
Uitgedeelde bedankjes: 49 keer
Bedankt: 78 keer
Provider

'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 ?
ubremoved_15739
Elite Poster
Elite Poster
Berichten: 2831
Lid geworden op: 13 jul 2010, 13:21
Uitgedeelde bedankjes: 599 keer
Bedankt: 532 keer

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.
Plaats reactie

Terug naar “Hardware”