Creare dei TGZ PROGRESSIVI
Moderatore: Staff
Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.
La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
-
lucabaldazzi
- Linux 0.x

- Messaggi: 2
- Iscritto il: mer 18 lug 2007, 18:26
Creare dei TGZ PROGRESSIVI
Ciao,
scusate il disturbo.
Dovrei fare un TGZ del contenuto intero di una directory /home/luca/* . E fin qui nessun problema, ma dovrei fare una cosa del genere
luca_01.tgz (per il giorno 18/07)
Il giorno 19/07 luca_01.tgz deve diventare luca_02.tgz e crearne uno nuovo luca_01.tgz (relaviro al gg 19/07)
Il giorno 20/07 luca_01.tgz deve diventare luca_02.tgz, luca_02.tgz deve diventare luca_03.tgz e crearne uno novo relativo al gg 20/07
Qualcuno puo' aiutarmi o darmi delle info per partire?
Grazie Luca
scusate il disturbo.
Dovrei fare un TGZ del contenuto intero di una directory /home/luca/* . E fin qui nessun problema, ma dovrei fare una cosa del genere
luca_01.tgz (per il giorno 18/07)
Il giorno 19/07 luca_01.tgz deve diventare luca_02.tgz e crearne uno nuovo luca_01.tgz (relaviro al gg 19/07)
Il giorno 20/07 luca_01.tgz deve diventare luca_02.tgz, luca_02.tgz deve diventare luca_03.tgz e crearne uno novo relativo al gg 20/07
Qualcuno puo' aiutarmi o darmi delle info per partire?
Grazie Luca
- albatros
- Iper Master

- Messaggi: 2098
- Iscritto il: sab 4 feb 2006, 13:59
- Kernel: 6.18.0
- Desktop: gnome and lxqt
- Distribuzione: Ubuntu 24.04 & FC 41
- Località: Darmstadt - Germania
Se metti i tgz in una directory puoi contarli con qualcosa tipo ls | wc -l , oppure puoi salvare il totale in un file, quindi crei una variabile tipo $ultimo pari al valore più grande e rinomini con mv tutti i tgz dal più grande al più piccolo incrementando nel file destinazione $ultimo di una unità; arrivato in fondo, crei l'archivio giornaliero sempre con lo stesso comando tar.
Se mi permetti un'osservazione, non ti converrebbe mettere semplicemente la data nel nome dell'archivio tar, magari con un formato tipo date +"%y%m%d" in modo che ti rimanga ordinato?
E' veloce rinominare i file, anche se fossero centinaia, però quest'altro sistema sarebbe più semplice e per questo motivo, salvo tue più che legittime esigenze particolari, a parer mio preferibile.

Se mi permetti un'osservazione, non ti converrebbe mettere semplicemente la data nel nome dell'archivio tar, magari con un formato tipo date +"%y%m%d" in modo che ti rimanga ordinato?
E' veloce rinominare i file, anche se fossero centinaia, però quest'altro sistema sarebbe più semplice e per questo motivo, salvo tue più che legittime esigenze particolari, a parer mio preferibile.
- acrive
- Linux 2.x

- Messaggi: 306
- Iscritto il: mar 27 dic 2005, 0:24
- Slackware: 12.0
- Località: Brindisi <-> Bologna
Perchè non usare RSYNC e farsi un server di backup? O pur semplicemente uno scriptino con rsync che sincronizza il contenuto della tua home in una temporanea che poi a sua volta viene targizzata ?
Potresti magari implementare nello script di lasciare copie di backup fino a 3 gg prima dopodichè verranno eliminati (ovviamente se presenti quelli successi).
Guarda Luca.. mi hai dato una bella idea
Potresti magari implementare nello script di lasciare copie di backup fino a 3 gg prima dopodichè verranno eliminati (ovviamente se presenti quelli successi).
Guarda Luca.. mi hai dato una bella idea
-
lucabaldazzi
- Linux 0.x

- Messaggi: 2
- Iscritto il: mer 18 lug 2007, 18:26
Ciao a tutti,
grazie per avermi risposto.
Nell'immediato ho cercato di inventarmi questo piccolo scritp (stra casalingo)
albatros mi interesserebbe codificare i file compressi con la data, ma non saprei come fare. Mi puoi aiutare sulla base di quello che ti ho incollato sopra?
Grazie a tutti.
P.s.: Per acrive.
rsync con il parametro --delete lo utilizzo per salvare i dati giornalmente, ma se per disgrazie (sicuramente accadrà spesso... non hai idea con che persone lavoro
) vengono cancellati dei file allora ho la possibilità di indietreggiare di 3gg.
Il parametro rsync che utilizzo è
cosa ne dici.. potrebbe andare bene?
Se per caso succede qualcosa durante la copia, utilizzando il parametro '--delete' non rischio di cancellare tutto e non avere il backup giornaliero?
Aspetto vs notizie..
Grazie a tutti
Luca
grazie per avermi risposto.
Nell'immediato ho cercato di inventarmi questo piccolo scritp (stra casalingo)
Codice: Seleziona tutto
#!/bin/bash
# ESEGUE IL BACKUP A PARTIRE DALLA DIR PASSATA
# COME PARAMETRO $1
# FA UN LOG CON TUTTI I FILE E LE DIRECTORY
# SERVE PER CREARE LE DATE DA INSERIRE NEL LOG
tree -sifD $1 > tmp
mv tmp /var/log/backup/backup_date_tgz.log
# RINOMINO I FILE PER AVERNE 3 VERSIONI
mv /mnt/agverona/_backup/documenti_02.tgz /mnt/agverona/_backup/documenti_03.tgz
mv /mnt/agverona/_backup/documenti_01.tgz /mnt/agverona/_backup/documenti_02.tgz
# ESEGUO IL BACKUP E SCRIVO IL FILE LOG
tar -zcvpf /mnt/agverona/_backup/documenti_01.tgz $1 > /var/log/backup/backup_tgz.log
Grazie a tutti.
P.s.: Per acrive.
rsync con il parametro --delete lo utilizzo per salvare i dati giornalmente, ma se per disgrazie (sicuramente accadrà spesso... non hai idea con che persone lavoro
Il parametro rsync che utilizzo è
Codice: Seleziona tutto
rsync -av --delete --force /mnt/agverona/* /mnt/agverona_mirror/
Se per caso succede qualcosa durante la copia, utilizzando il parametro '--delete' non rischio di cancellare tutto e non avere il backup giornaliero?
Aspetto vs notizie..
Grazie a tutti
Luca
- mauro
- Linux 2.x

- Messaggi: 281
- Iscritto il: gio 11 mag 2006, 21:51
- Slackware: current
- Kernel: uno degli ultimi...
- Desktop: dwm
x quanto riguarda l'uso della data nel nome file ti posto un esempio
Codice: Seleziona tutto
touch "nome-file-$(date +%y%m%d)"- albatros
- Iper Master

- Messaggi: 2098
- Iscritto il: sab 4 feb 2006, 13:59
- Kernel: 6.18.0
- Desktop: gnome and lxqt
- Distribuzione: Ubuntu 24.04 & FC 41
- Località: Darmstadt - Germania
Ecco, ti ha già risposto mauro, basta che inserisca nel nome del file creato con tar $(date +%y%m%d) , visto che la data cambia tutti i giorni, puoi fare il backup sempre con lo stesso comando (eventualmente marca allo stesso modo anche il file di log se ritieni opportuno crearlo).
Per quanto riguarda l'opzione delete, dipende da quello che succede, ma indicativamente direi di no...
Semmai spero che la directory del backup non risieda sullo stesso hd, anzi, meglio sarebbe che stesse proprio su un'altra macchina o su un dispositivo removibile.
Se si tratta di dati di lavoro, io andrei su due backup distinti per maggiore sicurezza, ci vuole leggermente di più a farli, ma ti danno anche tanta sicurezza in più...
Per quanto riguarda l'opzione delete, dipende da quello che succede, ma indicativamente direi di no...
Semmai spero che la directory del backup non risieda sullo stesso hd, anzi, meglio sarebbe che stesse proprio su un'altra macchina o su un dispositivo removibile.
Se si tratta di dati di lavoro, io andrei su due backup distinti per maggiore sicurezza, ci vuole leggermente di più a farli, ma ti danno anche tanta sicurezza in più...
- acrive
- Linux 2.x

- Messaggi: 306
- Iscritto il: mar 27 dic 2005, 0:24
- Slackware: 12.0
- Località: Brindisi <-> Bologna
Perchè usare il delete in rsync? Senza vai ad aggiornare nella directory di destinazione le sole differenze. Successivamente quella potrà essere compattata.
Io mi sono fatto uno scriptino. Solo che ora sto cercando di capire alcuni errori e sopratutto di pulire eventuali messaggi che non servono al fine..
Guarda.. ti posto la bozza.. ma è approssimativa e devo controllare meglio il check per quanto riguarda la rinomina dei file più vecchi..
La soluzione che ho adottato non è la migliore, ma è quella che mi è venuta prima in mente.. ma ora che ci penso.. potrei sostituirla con un find e sfruttare le sue opzioni per la differenziazione in base ai giorni di accesso (ctime&co..)
Molto probabilmente ci sono errori stupidi, ma ho solo 3 ore di sonno e i 35 gradi sò tosti da sopportare...
Spero di aver aiutato...
Salut!
Io mi sono fatto uno scriptino. Solo che ora sto cercando di capire alcuni errori e sopratutto di pulire eventuali messaggi che non servono al fine..
Guarda.. ti posto la bozza.. ma è approssimativa e devo controllare meglio il check per quanto riguarda la rinomina dei file più vecchi..
La soluzione che ho adottato non è la migliore, ma è quella che mi è venuta prima in mente.. ma ora che ci penso.. potrei sostituirla con un find e sfruttare le sue opzioni per la differenziazione in base ai giorni di accesso (ctime&co..)
Molto probabilmente ci sono errori stupidi, ma ho solo 3 ore di sonno e i 35 gradi sò tosti da sopportare...
Codice: Seleziona tutto
#!/bin/bash
BACKUPDIR=$1
DESTDIR=$2
TEMPDIR="/tmp/back/"
DATE=`date`
LOGFILE="/var/log/backup/backup_date_tgz.log"
f1() {
#Ipotizzo che nella dir dove si andra' ad effettuare il backup
#ci siano solamente questi 3 file
#TEST
echo Test
echo "Backupdir=$BACKUPDIR"
echo "DESTDIR=$DESTDIR"
echo "TEMPDIR=$TEMPDIR"
echo "Backup del giorno $DATE" >> $LOGFILE
tree -sifaD $1 >> $LOGFILE #rsync synca anche eventuali file nascosti
DAY3=`ls -lht $2 | tail -1 | grep -v total | awk '{print $8}'` #file giorno 3, più vecchio
DAY2=`ls -lht $2 | tail -2 | head -1 | grep -v total | awk '{print $8}'`#file giorno 2
DAY1=`ls -lht $2 | tail -3 | head -1 | grep -v total | awk '{print $8}'`#file giorno 1, più nuovo
if [ -e $DAY1 ]
then
mv $DESTDIR/$DAY1 $DESTDIR/backup-01.tar.gz
elif [ -e $DAY2 ]
then
mv $DESTDIR/$DAY2 $DESTDIR/backup-02.tar.gz
elif [ -e $DAY3 ]
then
mv $DESTDIR/$DAY3 $DESTDIR/backup-03.tar.gz
else echo "Non ho trovato nulla!!,Primo avvio?"
fi
#TEST
echo TEST
echo DAY1=$DAY1
echo DAY2=$DAY2
echo DAY3=$DAY3
echo TESDIR=$DESTDIR/$DAY3
#Facciop una sync della dir da backuppare in una temporanea
#da dove successivamente andremo a creare il file di backup
#PErche' usare il delete? come farò io andrò ad aggiornare le differenze
#tra le due directory senza cancellare nulla.
rsync -av --stats $1 $TEMPDIR
tar -zcvpf $DESTDIR/backup-LAST.tar.gz $BACKUPDIR #dovro' studiarmi bene le regexp prima o poi...
}
if [ -z $1 -a -z $2 ]
then
echo "Errore! Usare $0 <BACKUPDIR> <DESTDIR>"
else
echo "Backup di $1 in corso..."
sleep 2
f1
fi
Spero di aver aiutato...
Salut!