Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: backupscript zonder GUI  (gelezen 793 keer)

Offline JanJacobs

  • Lid
backupscript zonder GUI
« Gepost op: 2010/08/01, 16:58:32 »
Hallo mede-Ubuntu'ers!

sinds kort ben ik aant expirimenteren met linux, ubuntu voornamelijk, als server.
ik heb al enig ervaring met ubuntu op de desktop, maar nog nooit als server mee gewerkt

Nu wil ik het volgende doen..
Elke computer in het netwerk slaat zn backup op onder /backup/pcnaam
nou heb ik al een sh script gevonden dat /backup en /etc archiveerd op naam (middels rar)
en ik weet ook al hoe ik dat via een cronjob moet doen!

Nou is het de bedoeling dat er elke week een HDD aan gehangen word..
maar dit zijn 2 verschillende schijven die afgewisseld worden!
hoe vind ik nou uit welke schijf er aan hangt, en hoe krijg ik dan die archieven op die schijf?  ???
ik hoop dat jullie me een duwtje in de goede richting kunnen geven!

==========================================
inmiddels heb ik dit:
#!/bin/bash

usb_path="/media/disk/"
usb_path1="/media/disk1"

if [ -d $usb_path ]
then
## copy all files to the first drive
    echo "copy of files succeeded"
else
## copy files to the 2th drive
    echo "copy of files succeeded"
fi

niet heel veel bijzonders dus.. wat ik nu nog moet uitzoeken is hoe ik ervoor kan zorgen dat de boel niet in de soep loopt als blijkt dat er helemaal geen drive aan hangt, en dit script dan een mailtje verstuurd naar 1 of 2 ontvangers.
« Laatst bewerkt op: 2010/08/01, 18:25:25 door JanJacobs »

Offline ivo

  • Lid
There are only 10 types of people in the world; those who understand binary and those who don't.

Offline Rachid

  • Lid
    • rachidbm
    • Mijn blog
Re: backupscript zonder GUI
« Reactie #2 Gepost op: 2010/08/02, 12:47:11 »
Wil je dat er altijd maar 1 van de 2 schijven gebruikt wordt? Je hebt dat al bijna voor elkaar.

Ik denk aan zoiets:
if [ -d $usb_path ]; then
  backup schijf
elif [ -d $usb_path1 ]; then
  backup schijf1
else
 echo "Er is geen schijf aangekoppeld!!!"
fi

Je kunt mailtjes versturen met het programma 'mail'. Bijv. in een terminal:
echo "Dit is een emailbericht" | mail -s 'onderwerp'  jan@jacobs.nl
Ik zou gewoon alle meldingen echo-en. Dus dat je backup script een aantal regels als output heeft. En in de cronjob neerzetten dat die output gemaild moet worden. "Die output" is alles wat wordt geprint op stdout (standard out).

In je crontab krijg je zoiets als:
./backup.sh | mail -s 'backup status'  jan@jacobs.nl
Nu wordt dus alles van stdout in een mailtje gezet en verstuurd.
Er kunnen natuurlijk ook fouten optreden, echter worden die niet naar stdout geprint, maar naar stderr(standard error). Dus als er een fout optreedt zal die foutmelding nu niet in het mailtje gezet worden. Als je dit ook wilt moet je de de output van stderr "doorgeven" naar stdout. Klinkt misschien vaag, maar ik wil je gewoon aanraden om dit erbij te zetten: 2>&1

./backup.sh 2>&1 | mail -s 'backup status'  jan@jacobs.nlNu worden alle foutmeldingen ook gemaild ;)
« Laatst bewerkt op: 2010/08/02, 12:48:43 door Wazzzaaa »
Ben je ook blij dat Ubuntu zo toegankelijk en gratis is, en wil je graag net als ik iets terugdoen, kijk dan eens rond bij mwanzo, dé poort naar het bijdragen aan Ubuntu en haar gemeenschap!