Hallo,
habe es nun mithilfe von u.a. Manuel im Forum, dem Chat, Nachdenken und Ausprobieren geschafft :-)
Fürs Archiv:
Zuerst habe ich per find folgendes gesucht:
find ORDNERNAME -name '*.php' -o -name '*.csv' -o -name '*.html'
hier kann man per "-o -name '*.DATEIENDUNG'" beliebig viele Dateiendungen hinzufügen
find gibt einem dann alle Dateien, die dazu gefunden werden, in einer Liste aus
Ans Ende dieses Queries dann ein > ergebnisliste.txt
So hat man dann eine Liste aller gefundenen Dateien mit Pfadangabe in der Datei ergebnisliste.txt
Komplett gibt man in der Shell also ein:
find ORDNERNAME -name '*.php' -o -name '*.csv' -o -name '*.html' > ergebnisliste.txt
Diese gespeicherte Datei kann man nun widerum als Basis für tar verwenden:
tar -cvzf archivname.tgz -T ergebnisliste.txt
durch das -T ergebnisliste.txt weiss tar nun, dass es eine Liste der zu archivierenden Dateien in der Datei ergebnisliste.txt findet.
Das ganze packt tar dann - in diesem Beispiel mit gzip-Komprimierung - zusammen in das Archiv archivname.tgz
Und zwar inklusive Verzeichnisstruktur und Dateirechten.
Noch ein Hinweis:
date +%Y-%m-%d
spuckt das aktuelle Datum im Format 2007-01-01 aus (Jahr-Monat-Tag).
Wenn man also folgendes schreibt:
tar -cvzf backup_files__date +%Y-%m-%d
.tgz -T ergebnisliste.txt
kommt dabei z.B. der Dateiname "backup_files__2007-01-01.tgz" heraus. So weiss man immer, von wann das Backup stammt.
Das ganze kann man nun noch automatisieren, indem man den ganzen Klabautsch in eine Textdatei schreibt und diese *.sh nennt.
Hier für ganz Faule die ready-to-copy *.sh-Datei:
(Für richtig Faule: die Ordner müsst ihr schon selber ersetzen *g*)
---------------------------------------------------------
#In Backupverzeichnis wechseln (Unbedingt beachten, dass das Verzeichnis absolut ist; bei Confixx unter Debian z.B. meist /var/www/webXY/html/DEIN_PFAD)
cd /VERZEICHNIS_IN_DEM_DAS_BACKUPSCRIPT_GESPEICHERT_IST
#Dateiliste aller Dateien erstellen, die gebackupt werden sollen (Auch hier muss die Ordnerangabe absolut sein!)
# Noch ein Hinweis: es können, wie bereits im Forum beschrieben, beliebig viele Dateiendungen per -o -name '*.dateiendung' hinzugefügt werden
find /ORDNER_IN_DEM_GESUCHT_WERDEN_SOLL -name '*php' -o -name '*.html' -o -name '*.csv' > filelist_to_backup.txt
#Dateiliste auf 0777 chmoden, damit die auch sicher gelesen und nachher wieder gelöscht werden kann
chmod 0777 filelist_to_backup.txt #Hier kann die Ordnerangabe relativ sein, da wir ja schon in dem Verzeichnis sind
#TarGZIP-Archiv erstellen
tar -cvzf backup____date +%Y-%m-%d
.tgz -T filelist_to_backup.txt
#Dateiliste löschen
rm filelist_to_backup.txt
#fertig
---------------------------------------------------------
Der Vollständigkeit halber: Datenbankbackups kann man z.B. mittels phpmybackuppro (OpenSource) machen.
Ich hoffe, dass dieser Beitrag auch Anderen weiterhilft und bedanke mich nochmals für jedliche Hilfe von allen :-)
Gruß, Basti.
P.S.: Das ganze funktioniert natürlich nur auf Linux-/Unix-Systemen!
Noch einige Suchbegriffe: Backup Linux ssh shell cronjob nur bestimmte Dateien Dateitypen