[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Script per backup su pendrive



InSa ha scritto:
Salve a tutti,

ho un file server(ino) con su ovviamente woody, e vorrei fare backup su
pendrive.

Ecco in pratica cosa vorrei fare io:

------------------------------------
#!/bin/bash

mount /mnt/usb

tar cvfjW /tmp/myBackup`date +%Y%m%d`.tar.bz2 /dir/da/backuppare/

ora tramite df dovrei vedere se in /mnt/usb c'è ancora spazio, io dalle
(poche) conoscenze che ho sono addivato solo a
if (df | grep /mnt/ust ha meno spazio di 80 mega)
	cancella il backup più vecchio su /mnt/usb

(qui sopra si poteva anche fare un while, cioè cancella i backup vecchi
finchè lo spazio minimo è 80 mega)

in ogni caso poi copio il backup in /mnt/usb

cp /tmp/myBackup`date +%Y%m%d`.tar.bz2 /mnt/usb

umount /mnt/usb
------------------------------------

Qualche (grande) suggerimento?

Grazie e ciao
InSa


Non so se sia proprio giusto... Sono alle prime armi con gli script di Bash. Chiaramente non ti assicuro niente e non mi assumo responsabilità su eventuali file cancellati erroneamente.

Ciao, Pollo.

-------------------------------------------------------------------------

#!/bin/bash

FILE_BCK=/tmp/myBackup`date +%Y%m%d`.tar.bz2

tar cvfjW $FILE_BCK /dir/da/backuppare/

DIM_BCK=$(ls -s $FILE_BCK | cut -f1 -d" ")

mount /mnt/usb

FREE=$(df | grep /mnt/usb | cut -f21 -d" ")

while [ "DIM_BCK" -gt "$FREE" ] do
	NUM_FILE=$(ls /mnt/usb/*.tar.bz2 | wc -l)
	if [ "$NUM_FILE" -eq "0"]
	then
		echo "Non ho spazio a sufficenza: backup impossibile"
		exit
	else
		OLDEST_FILE=$(ls /mnt/usb/*.tar.bz2 | sort | head -n1)
		rm -f /mnt/usb/$OLDEST_FILE
		FREE=$(df | grep /mnt/usb | cut -f21 -d" ")
	fi
done

cp $FILE_BCK /mnt/usb

umount /mnt/usb






Reply to: