|
| Dato for fire uger siden Fra : Morten Bakkedal |
Dato : 10-06-02 21:54 |
|
Som en del af et automatisk backup-system bruger jeg følgende
kommando:
tar -czf /backup/linux$(date +%Y%m%d).tar.gz /etc /home
Det virker også fint - der bliver dannet filer med navne på formen
linux20020610.tar.gz.
Imidlertid kunne jeg godt tænke mig at slette gamle
backup-filer. Hvordan kan man skrue en kommando sammen, der kan give
mig datoen på dagen for fire uger siden, så jeg kan slette de gamle
filer.
Det lader ikke til at date kan klare dette.
Med venlig hilsen
Morten Bakkedal
| |
Byrial Jensen (10-06-2002)
| Kommentar Fra : Byrial Jensen |
Dato : 10-06-02 22:03 |
|
Morten Bakkedal <news20020523@bakkeland.dk> skrev:
> backup-filer. Hvordan kan man skrue en kommando sammen, der kan give
> mig datoen på dagen for fire uger siden, så jeg kan slette de gamle
> filer.
>
> Det lader ikke til at date kan klare dette.
GNU date kan en del:
$ date --date="4 weeks ago" +%Y%m%d
20020513
| |
Adam Sjøgren (10-06-2002)
| Kommentar Fra : Adam Sjøgren |
Dato : 10-06-02 22:26 |
|
On 10 Jun 2002 22:53:44 +0200, Morten Bakkedal wrote:
> Det lader ikke til at date kan klare dette.
Det tror jeg godt den kan, men er det ikke nemmere at bruge find?
find ./ -mtime +30
eller noget i den dur?
Mvh.
--
"And if you complain once more Adam Sjøgren
You'll meet an army of me" asjo@koldfront.dk
| |
Morten Bakkedal (10-06-2002)
| Kommentar Fra : Morten Bakkedal |
Dato : 10-06-02 22:37 |
|
Adam Sjøgren wrote:
> Det tror jeg godt den kan, men er det ikke nemmere at bruge find?
>
> find ./ -mtime +30
>
> eller noget i den dur?
Måske. Til gengæld synes risikoen for at jeg får slettet en hel masse
at være mindre, når jeg næsten eksplicit angiver et filnavn ved en
kommando af typen:
rm /backup/linux$(date --date="4 weeks ago" +%Y%m%d).tar.gz
Med venlig hilsen
Morten Bakkedal
| |
Adam Sjøgren (10-06-2002)
| Kommentar Fra : Adam Sjøgren |
Dato : 10-06-02 22:50 |
|
On 10 Jun 2002 23:37:14 +0200, Morten Bakkedal wrote:
> Måske. Til gengæld synes risikoen for at jeg får slettet en hel
> masse at være mindre, når jeg næsten eksplicit angiver et filnavn
> ved en kommando af typen:
> rm /backup/linux$(date --date="4 weeks ago" +%Y%m%d).tar.gz
find /backup/ -mtime +30 -name "linux????????.tar.gz" | xargs rm
Smag og behag...
(Der er naturligvis den forskel at find-modellen sletter alle ældre
end, date-modellen skal køres hver dag).
Mvh.
--
"And if you complain once more Adam Sjøgren
You'll meet an army of me" asjo@koldfront.dk
| |
Morten Bakkedal (10-06-2002)
| Kommentar Fra : Morten Bakkedal |
Dato : 10-06-02 23:24 |
|
Adam Sjøgren wrote:
> find /backup/ -mtime +30 -name "linux????????.tar.gz" | xargs rm
>
> Smag og behag...
Jeg er overbevist.
Med venlig hilsen
Morten Bakkedal
| |
Mogens Christensen (11-06-2002)
| Kommentar Fra : Mogens Christensen |
Dato : 11-06-02 22:13 |
|
> tar -czf /backup/linux$(date +%Y%m%d).tar.gz /etc /home
>
> Det virker også fint - der bliver dannet filer med navne på formen
> linux20020610.tar.gz.
>
> Imidlertid kunne jeg godt tænke mig at slette gamle
> backup-filer. Hvordan kan man skrue en kommando sammen, der kan give
> mig datoen på dagen for fire uger siden, så jeg kan slette de gamle
> filer.
Tjah.. Smarte indlæg de allesammen kommer med. Men jeg har et lignende
"backup-program" der dog kun går en enkelt uge tilbage. Det har jeg gjort
ved at sige:
kopi=/var/backups/etccopy$(date +%a).tar
Altså bare ta' ugedagen, og på den måde overskriver den jo sig selv efter en
uge. Ikke. :)
I dit tilfælde ville det se ud som noget i retning af:
tar -czf /backup/linux$(date +%d).tar.gz /etc /home
Og så kommer dine filer til at hedde noget med 'linux11.tar.gz', og bliver
derved overskrevet helt automatisk efter hver måned.
/Mogens Christensen
| |
|
|