Varmuuskopiointi

Minulla on verkkokiintolevy ja haluaisin öisin tehdä varmuuskopion siihen koko levystä. Tein skriptin missä on kolme riviä mount, rsync ja unmount. Skripti toimii ja varmuuskopio onnistui, toistin operaation ja päivitys onnistui myös. Joten laitoin scriptin crontabiin. Nyt aamulla sitten crontab lähetti viestin: umount: /backup: not mounted Eli kuten oli arvattavissa, mountaus epäonnistui ja se teki varmuuskopion samalle levylle ja nyt levy on täynnä. Sekään ei ole ongelma, sillä rm -R /backup ratkaisi ongelman. Mutta haluan välttää ongelmaa tulevaisuudessa ja keskeyttää varmuuskopioinnin jos levy ei ole mountautunut ja mahdollisesti jopa yrittää uudestaan. Miten tämä onnistuu? Mount rivi on seuraava: mount -t smbfs -o lfs,username=xxx,password=yyy //192.168.1.3/backup /backup
6423
Äänestä

Muut lukivat myös

Vastaukset 6

Vanhimmat

Jos liität siihen sen varmuuskopiokomennon ihan vaan "&&". && eli "and" suorittaa kaksi tai useamman komennon peränjälkeen kuitenkin siten että mikäli ensimmäinen komento epäonnistuu ei myöskään jälkimmäisiä suoriteta. Esim. komentoriville !25; tar -cvvf foo.tar foo/ ajaa ensin komentohistoriasta komennon indeksillä 25 ja sen jälkeen arkistoi foon. Mikäli komentoa 25 ei ole niin foo arkistoidaan joka tapauksessa. !25 && tar -cvvf foo.tar foo/ ajaa ensin komentohistoriasta komennon indeksillä 25 ja jos se onnistuu arkkistoi foon, mikäli komentoja ei ole kuin 24 historiassa ja !25 epäoonistuu myöskään foota ei arkistoida. Eli onnistuisiko se ihan noin yksinkertaisesti?

Äänestä

Moi. Ihan mielenkiinnosta, oletko kokeillut myös varmuuskopioiden palautusta, eli siis onnistuuko palautus? T: Uteliaisuutta ;P

Äänestä

keinoja on monia, tässä yksi vaihtoehto Tee scripti jossa tarkistetaan, että liitos on tehty ennen kuin backup suoritetaan laita scripti jonnekkin hakemistoon ja anna suoritusoikeudet (chmod x scripti.bsh) Ajoithan sitä sinun aikaisempaa cron jobia rootin cronista, jotta oikeudet tehdä tuo liitos. Aja tuota scriptiä rootin cronista niin pitäisi toimia #!/bin/bash #Liitetään verkkolevy mount -t smbfs -o lfs,username=xxx,password=yyy //192.168.1.3/backup /backup #Tarkistetaan, että liitos onnistui jos ei niin lopetetaan scripti if [ `df -h /backup/ | grep -v Filesystem | awk '{print $6}'` == "/backup" ]; then rsync xxxxx umount /backup else exit 1 fi

Äänestä
  • Eikös ihan samaan pääse tuolla yksinkertaisella "&&" yhdistelmällä? mount -t smbfs -o lfs,username=xxx,password=yyy //192.168.1.3/backup /backup && rsync xxxx Jos mount palauttaa jonkun muun arvon kuin 0 niin suoritus loppuu joka tapauksessa siihen?

    Äänestä

  • old_profile_3778 kirjoitti:

    Eikös ihan samaan pääse tuolla yksinkertaisella "&&" yhdistelmällä? mount -t smbfs -o lfs,username=xxx,password=yyy //192.168.1.3/backup /backup && rsync xxxx Jos mount palauttaa jonkun muun arvon kuin 0 niin suoritus loppuu joka tapauksessa siihen?

    Jep ihan samaan lopputulokseen pääsee, mutta lähinnä siksi toi scripti, että sitä on helpompi lähtee jalostamaan jos haluaa viritellä lisää "ominaisuuksia"

    Äänestä

Kommentoi aloitusta


ongelmallinen kirjoitti:

Minulla on verkkokiintolevy ja haluaisin öisin tehdä varmuuskopion siihen koko levystä. Tein skriptin missä on kolme riviä mount, rsync ja unmount. Skripti toimii ja varmuuskopio onnistui, toistin operaation ja päivitys onnistui myös. Joten laitoin scriptin crontabiin. Nyt aamulla sitten crontab lähetti viestin: umount: /backup: not mounted Eli kuten oli arvattavissa, mountaus epäonnistui ja se teki varmuuskopion samalle levylle ja nyt levy on täynnä. Sekään ei ole ongelma, sillä rm -R /backup ratkaisi ongelman. Mutta haluan välttää ongelmaa tulevaisuudessa ja keskeyttää varmuuskopioinnin jos levy ei ole mountautunut ja mahdollisesti jopa yrittää uudestaan. Miten tämä onnistuu? Mount rivi on seuraava: mount -t smbfs -o lfs,username=xxx,password=yyy //192.168.1.3/backup /backup

Anonyymi
5000

Ilmoita asiaton sisältö

  • Sisältää materiaalia, joka on loukkaavaa, herjaavaa, rasistista, uhkailevaa tai ahdistelevaa.

  • Materiaali sisältää nimiä, yhteystietoja tai muita henkilökohtaisia tietoja. Julkisuuden henkilöistä, julkisissa viroissa toimivista ihmisistä sekä yritysten vastuuhenkilöistä saa keskustella työhön liittyen. Myös yksityiselämään liittyvistä asioista voi keskustella siltä osin, kuin niistä on julkisesti kerrottu.

  • Sisältää lapsille haitallista tai heiltä kiellettyä materiaalia. Seksuaalinen sisältö on sallittua aiheeseen tarkoitetuilla palstoilla, joiden ikäraja on 18 vuotta.

  • Lainvastaista sisältöä voi olla mm. yksityiselämää loukkaavan tiedon levitys, kiihottaminen kansanryhmää vastaan, laiton uhkaaminen, alaikäisiin liittyvä seksuaalinen sisältö/grooming, petokset, identiteettivarkaudet, kunnianloukkaukset ja tekijänoikeusrikkomukset.

  • Sisältö ei liity palstan tai keskusteluketjun aiheeseen.

  • Viesti ei ole suomea tai ruotsia (pl. International Forums), se sisältää mainontaa, se sisältää tekijänoikeuksin suojattua materiaalia, se on massapostitus tai jokin muu syy.

Jaa keskustelu