/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Backup-script
Fra : Allan Johansen


Dato : 01-05-02 11:20

Hej NG!

Jeg har lavet et lille backup-script, som kopierer visse conf-filer o.l.
over på et netværk-share.
Jeg har lavet det sådan at der bliver lavet en mappe for hver dag, som
henholdsvis hedder [dag][måned][år] (f.eks. 01052002). Det gør jeg med date
+%d%m%Y, hvilket fungerer fint nok.

Mit problem er så, at efterhånden bliver der jo oprettet en del mapper,
hvilket jo kommer til at fylde en del i længden.
Hvordan laver jeg en funktion, der sørger for at mapper der er en måned
gammel eller derover bliver slettet?

Evt. noget med: rm "mappe(r) der er ældre end XXXXXX"

Mvh. Allan



 
 
Allan Joergensen (01-05-2002)
Kommentar
Fra : Allan Joergensen


Dato : 01-05-02 10:55

Allan Johansen <AllanJ@post.cybercity.dk> wrote:

> Mit problem er så, at efterhånden bliver der jo oprettet en del mapper,
> hvilket jo kommer til at fylde en del i længden.
> Hvordan laver jeg en funktion, der sørger for at mapper der er en måned
> gammel eller derover bliver slettet?

find <backup dir> -maxdepth 0 -mtime 30 -type d -exec rm -rf "{}" \;

ville være mit bud, se man find for hvad de forskellige switches gør.

--
Allan Joergensen aka [DW] on eu.openprojects.net

"My personal philosophy is my music..." - Jimi Hendrix

enrique (01-05-2002)
Kommentar
Fra : enrique


Dato : 01-05-02 15:36

Yello

On Wed, 01 May 2002 11:54:33 +0200, Allan Joergensen wrote:

> Allan Johansen <AllanJ@post.cybercity.dk> wrote:
>
>> Mit problem er så, at efterhånden bliver der jo oprettet en del mapper,
>> hvilket jo kommer til at fylde en del i længden. Hvordan laver jeg en
>> funktion, der sørger for at mapper der er en måned gammel eller derover
>> bliver slettet?

Jeg har, dog _lidt_ bøvlet, lavet dette i mit backupscript:

# Set date and time vars
dato=`date --iso`
time=`date +%T`

# Set mount point of backup drive
mntpoint="/mnt/backup1/"

# Set name of subdir on the backdrive
backuppath="$mntpoint$dato"

function checkspace() {
   if [[ `find $mntpoint200* -type d | grep -c '200.-..-..'` > 10 ]]; then # Find numbers of directorys matching the pattern '200*-**-**'
      declare -a dirarray=(`find $mntpoint -type d -maxdepth 1 -print | grep '200*-**-**' | xargs echo`)
      echo "Deleting oldest backup: ${dirarray[0]}"
      rm -rf ${dirarray[0]}
      if [ $? != 0 ]; then
         echo "* Removeing ${dirarray[0]} failed!! exiting NOW! *"
         exit 1
      fi
   fi
}

Men det virker ;)

--
Mvh. / Kind regards
Henrik Farre < enrique AT obel DOT auc DOT dk >
- If I were God, I would recompile the penguin with --enable-flying.

John Smith (01-05-2002)
Kommentar
Fra : John Smith


Dato : 01-05-02 16:13

> Mit problem er så, at efterhånden bliver der jo oprettet en del mapper,
> hvilket jo kommer til at fylde en del i længden.
> Hvordan laver jeg en funktion, der sørger for at mapper der er en måned
> gammel eller derover bliver slettet?

/bin/echo "Sletter alle filer aeldre end 3 dage"
/usr/bin/find /backup/unx-server/ -mtime +3 -name \* -print | /usr/bin/xargs
/bin/rm

Dog bliver mine backupfiler pakket med tar således, at backupfilerne dermed
ikke overstiger de der 3 dage. Men måske kan det kombineres med en option
mere på find med, at den kun skal kigge på biblioteker?

Mvh.
John.



Søg
Reklame
Statistik
Spørgsmål : 177551
Tips : 31968
Nyheder : 719565
Indlæg : 6408825
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste