Skript HILFE!!! Dateien archivieren und Zippen

Software besorgen und anwenden
Post Reply
Message
Author
Janine

Skript HILFE!!! Dateien archivieren und Zippen

#1 Post by Janine »

Hallo

Ich soll ein UNix Skript schreiben das Dateien die 1 Jahr nicht angefasst wurden in einen Ordner verschiebt und den dann zippt. Dateien die 2 Jahre nicht angefasst wurden sollen automatisch gelöscht werden.

Hat da jemand von euch Ahnung von wie man das macht? Habe gerade erst mit UNix angefangen und noch keine wahre Ahnung wie ich das genau mache...

wohl irgendwas mit "if; tar; find; mtime"....

User avatar
Stormbringer
Posts: 1570
Joined: 11. Jan 2001 11:01
Location: Ruhrgebiet

#2 Post by Stormbringer »

Continuum Hierarchy Supervisor:
You have already been assimilated.
(Rechtschreibungsreformverweigerer!)

jwm
Posts: 28
Joined: 27. Sep 2000 16:06
Contact:

#3 Post by jwm »

find / -mtime +730-exec rm {} \;
find / -mtime +364 -exec mv {} /ordner/deiner/wahl \;
tar czvf /pfad_zum_BU /ordner/deiner/wahl

Kann man bestimmt noch schön in Schleifen etc packen :)

Janine

#4 Post by Janine »

Mein Skript sieht bis jetzt so aus:

#!/bin/sh

if find /home/janine/Archiv -mtime +365
then
mv /home/janine/Archiv Neues/Verzeichnis
tar -cvs Archivdatei.tar
fi


Aber bis jetzt packt er alle Dateien und nicht

Guest

#5 Post by Guest »

...die die 365 Tage alt sind

User avatar
Lateralus
prolinux-forum-admin
Posts: 1238
Joined: 05. May 2004 7:35

#6 Post by Lateralus »

Code: Select all

if find /home/janine/Archiv -mtime +365 
then 
mv /home/janine/Archiv Neues/Verzeichnis
Also then wird ausgeführt, wenn der Wert nach if ungleich Null...
Halte dich lieber an die Syntax von jwm:

Code: Select all

find / -mtime +364 -exec mv {} /ordner/deiner/wahl \;
also auf dich übertragen

Code: Select all

find /home/janine/Archiv -mtime +365 -exec mv {} /home/janine/Archiv Neues/Verzeichnis;
(mit den geschweiften Klammern kann ich allerdings nichts anfangen, aber er wird schon wissen, was er tut.)

Janine

#7 Post by Janine »

Also im Moment sieht mein Skript genau so aus wie oben...
Aber es funktioniert leider trotzdem noch nicht...

User avatar
Lateralus
prolinux-forum-admin
Posts: 1238
Joined: 05. May 2004 7:35

#8 Post by Lateralus »

bekommst du ne fehlermeldung oder macht er einfach nicht das, was er soll?

jwm
Posts: 28
Joined: 27. Sep 2000 16:06
Contact:

#9 Post by jwm »

a) die geschweiften Klammern stehen "stellvertretend" für den Namen der Datei(en), die find zurückliefert.

b) darum funktioniert das if-Konstrukt auch nicht, sondern sollte etwa so aussehen:

for i in $(find /home/janine/Archiv -mtime +365); do
mv /home/janine/Archiv/$i /Neues/Verzeichnis
tar cvsf Archivdatei.tgz /Neues/Verzeichnis
done

Post Reply