Ik ben bezig een backup-scriptje te schrijven voor mijn website, waarbij ik iedere nacht met een cronjob automatisch een nieuwe backup maak.
Omdat de ftp-server van mijn host om onverklaarbare redenen nogal in de stress schiet van al dat geupdate, wil ik mijn script zo maken dat het blijft doorgaan totdat het gelukt is.
Ik heb begrepen dat je in bash de exit-waarde van het laatste commando kan opvragen met $?. Hier probeer ik in een while-loopje gebruik van te maken.
Het probleem met deze code is dat de loop zich oneindig blijft herhalen, ook wanneer ncftpget met een exit-waarde van 0 terugkeert. Wat doe ik fout?
Omdat de ftp-server van mijn host om onverklaarbare redenen nogal in de stress schiet van al dat geupdate, wil ik mijn script zo maken dat het blijft doorgaan totdat het gelukt is.
Ik heb begrepen dat je in bash de exit-waarde van het laatste commando kan opvragen met $?. Hier probeer ik in een while-loopje gebruik van te maken.
Bash:
1
2
3
4
5
6
7
8
9
10
11
| # retrieve update echo Retrieving update... ncftpget -f config/ftp-config -R /home/backup/ /www/routes/ # if it didn't work out, # keep going on until it does while [ $? -eq 0 ] do echo Something failed, retrying... ncftpget -f config/ftp-config -R /home/backup/ /www/routes/ done |
Het probleem met deze code is dat de loop zich oneindig blijft herhalen, ook wanneer ncftpget met een exit-waarde van 0 terugkeert. Wat doe ik fout?
Ik ontken het bestaan van IE.