backüps automatisch löschen

B

Blade

Doppel-As
hy hab hier noch eine aufgabe die ich vom sinn her nicht verstehe:

mit einem script sollen backups gelöscht werden die 10 tage alt sind.

variable ist $Backup

#altes backup löschen
PHP:
function delode () {
printing "Altes Backup wird gelöscht"
find $Backup -mtime +10 -devx -type f -exec rm -r -v {} \;
1>>$fulllog 2>>fullog

ein neues script soll erstellt werden das diese funktion beeinhaltet und den namen des zu löschenden verzeichnisses einlesen und an die vorgegebene variable übergenen kann
 
Was verstehst du nicht?
find?
Dazu findest du in der Manpage alle Optionen beschrieben.
Wenn du das liest, wirst du es selbst herausfinden.
Wobei $Backup hier das Startverzeichnis beinhalten sollte.-> erstes Argument von find ist der Pfad

Ein Übergebenes Argument an ein Skript findest du in $n, wobei n die Position des Argumentes ist.
Also bei nur einem Argument $1.
Du würdest demzufolge BACKUP=$1 innerhalb des Scriptes verwenden.
Wobei es sinnvoll ist zu prüfen, ob dieses Argument auch gesetzt ist.


Gruß Wolfgang
 
also müsste ich es so machen?


function delode () {
printing "Altes Backup wird gelöscht"
find $Backup=$1 -mtime +10 -devx -type f -exec rm -r -v {} ;
1>>$fulllog 2>>fullog


probier ich gleich ma aus
 
Blade: das ist falsch.
$BACKUP=$1 was soll das sein? _wenn_ dann backup=$1, aber nicht als Argument zu deinem find Kommando.
 
also müsste ich es so machen?


function delode () {
printing "Altes Backup wird gelöscht"
find $Backup=$1 -mtime +10 -devx -type f -exec rm -r -v {} ;
1>>$fulllog 2>>fullog


probier ich gleich ma aus

Nein, das wird nicht funktionieren.
find akzeptiert nur ein Argument als Pfad.
Also bitte nochmal die Manpage dazu bemühen.
Variablenzuweisung:
Code:
BACKUP=$1;
find....
 
glaube ich hatte die aufgabe schlecht beschrieben!
in der variable $Backup befindet sich das zu löschende verzeichnis

function delode () {
printing "Altes Backup wird gelöscht"
find $Backup -mtime +10 -devx -type f -exec rm -r -v {} ;
1>>$fulllog 2>>fulllog

Backup=$1
find $1 >>$fulllog


das doofe ist das ich es jetzt nicht ausprobieren kann
 
glaube ich hatte die aufgabe schlecht beschrieben!
in der variable $Backup befindet sich das zu löschende verzeichnis

function delode () {
printing "Altes Backup wird gelöscht"
find $Backup -mtime +10 -devx -type f -exec rm -r -v {} ;
1>>$fulllog 2>>fulllog

Backup=$1
find $1 >>$fulllog


das doofe ist das ich es jetzt nicht ausprobieren kann

Das brauchst du auch nicht erst probieren, weil es genauso falsch ist.
Ich denke, dir fehlen alle Grundlagen für diese relativ simple Angelegenheit.
Dass in $Backup der Pfad zu erwarten ist, habe ich schon erkannt und geschrieben.
Im einfachsten Fall genügt es $Backup in deiner Funktion durch $1 zu ersetzen.
Allerdings läuft das vor die Wand wenn $1 leer ist oder ein nichtexistentes Verzeichnis enthält.

Ich empfehle dringendsd dir etwas Grundwissen anzueignen, sonst wirst du mit solchen kleinen Aufgaben viel Zeit und Energie verschwenden.
e.g. hier

Gruß Wolfgang
 
Zuletzt bearbeitet:
ja das stimmt das mir da grundkentnisse fehlen die ich mir aneignen muss, shell scripting ist finde ich halt für anfänger nicht gerade leicht weil alles sehr kryptisch ist und ich nicht wie bei VBScripting einen debugger verwenden kann.

trotzdem vielen dank für die hilfe
 
So schlimm ist das nicht.
Immerhin gibt es set -x.
Aber über VB wollen wir uns hier lieber nicht unterhalten.
Damit habe ich mich vor ca 10 Jahren beschäftigt. Für mich persönlich war dies eine der wenigen Scriptsprachen, deren Beschäftigung damit ich komplett umsonst getätigt habe, und die vertane Zeit heute bereue.

Aber zurück zur Shell:
Unter www.linuxfibel.de findest du auch sehr gute Anleitungen in deutscher Sprache.

Fang mit einfachen Dingen an (variablen Ein-Ausgabe).
Ein paar Grundkenntnisse darin erleichtern dir das Leben mit Linux ungemein.

BTW hast du nicht erwähnt welche Shell du verwendest.

Gruß Wolfgang
 

Ähnliche Themen

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

verzeichniss suche funktioniert nicht

Löschroutine mit Überprüfung

verbesserung eines loeschscripts

script backup löschen

Zurück
Oben