CronJob - Script

Status
Not open for further replies.

555NASE

Patron
Joined
Mar 3, 2017
Messages
202
Moin, ich möchte per CronJob eine Sicherung anlegen mit dem folgenden befehl.
Beispiel:
cp -a /mnt/Volume1/Verzeichnis1 /mnt/Volume1/Backup/Verzeichnis1


Jetzt möchte ich daraus ein echtes Script mit Variablen und Co erstellen. Kann ich dieses dann irgenwo hinterlegen und als script CronJob aufrufen lassen ?
Mein Ziel ist es in einem bestimmten Zeitraum regelmäßig Backups zu machen die automatisch in ein Verzeichnis mit aktuellem Datum kopiert werden.
Meine zweite Anforderung ist das ich mir eine bestimme Anzahl an Sicherungen aufhebe z.b. die 6 letzten Sicherungen - ab der 7. Sicherung soll die älteste Sicherung automatisch gelöscht werden.

Villeicht gibt es ja hier jmd von euch der so ein Script schon nutzt.
 

555NASE

Patron
Joined
Mar 3, 2017
Messages
202
Kann ich den überhaubt scripte über den CronJob starten ?
 

MrToddsFriends

Documentation Browser
Joined
Jan 12, 2015
Messages
1,338

555NASE

Patron
Joined
Mar 3, 2017
Messages
202
Danke erstmal für die antwort.

Natürlich habe ich ich mich schon informiert, hatte aber erst nach diesem Post gefunden das man auch scripte ausführen kann.

script wurde auch mit chmod a+x backup.sh ausführbar gemacht

Also die Command Zeile in der Maske enthält folgendes: sh /mnt/Volume1/Medien/backup.sh (ist nur als beispiel)

im Script ist folgendes zu finden:
#!/bin/bash
cp -aR /mnt/Volume1/Win_Updates/wsusoffline/bin /mnt/Volume1/Win_Updates/wsusoffline/bin1/



Eine alternative zu dem script wäre mit Variablen:
#!/bin/bash

SRCDIR="/mnt/Volume1/Win_Updates/wsusoffline/bin"
DESTDIR="/mnt/Volume1/Win_Updates/wsusoffline/bin1/"
cp -aR $SRCDIR $DESTDIR


Eine dritte alternative wäre:
#!/bin/bash
SRCDIR="/mnt/Volume1/Win_Updates/wsusoffline/bin"
DESTDIR="/mnt/Volume1/Win_Updates/wsusoffline/bin1/"
DATE="/`date +%Y%m%d`/"
cp -aR $SRCDIR $DESTDIR$DATE



Sind die Scripte so richtig, oder befindet sich ein Fehler in Ihnen ? ich bin noch bash-script neuling.
 

charlie89

Explorer
Joined
Dec 26, 2013
Messages
55
Hi,
ich glaube du musst in der Maske den kompletten Pfad zur Shell angeben, also z.B.
Code:
/bin/bash /mnt/Volume1/Medien/backup.sh
 

555NASE

Patron
Joined
Mar 3, 2017
Messages
202
Also bei dem Script:

Code:
#!/bin/bash
cp -aR /mnt/Volume1/Win_Updates/wsusoffline/bin /mnt/Volume1/Win_Updates/wsusoffline/`date +%Y-%m-%d`.sich


kommt der Ordner :"2N5NUT~2" heraus



Wenn ich das ganze mit Variable mache: ich hoffe so ist es richtig , kommt beim Ausführen über die Console immer
"No such file or directoryes/wsusoffline/bin"
Aber wie kann das sein wenn ich doch alles übernnommen habe.



Code:
#!/bin/bash
quelle=/mnt/Volume1/Win_Updates/wsusoffline/bin
ziel=/mnt/Volume1/Win_Updates/wsusoffline/backup
datum=/`date +%Y-%m-%d`.sich
cp -aR $quelle $ziel$datum
 

555NASE

Patron
Joined
Mar 3, 2017
Messages
202
Nochmal eine kleine Ergänzung:
So wie das Script hier steht, funktioniert es z.B. unter Lubuntu.

Code:
#!/bin/bash

#Variablen festlegen (immer beginnend und endend mit / )
############################
now=$(date +"%Y_%m_%d")
source=/mnt/Volume1/Daten_Bastian
target=/mnt/Volume1/Daten_Bastian/aaaaaa
#############################


#Kopiervorgang
############################
cp -a $source $target/$now.backup
############################





Unter dem Freenas funtioniert es nicht.

Ich habe so das gefühl das es an den Variablen liegt oder das FreeNas einfach nicht alles unterstützt.
 
Last edited:

X11SAE

Patron
Joined
Dec 10, 2016
Messages
218
Lubuntu basiert auf Linux, FreeNAS auf FreeBSD. Da kann es durchaus Unterschiede in der Syntax geben. Dies nur als allgemeinen Hinweis, im Detail helfen kann ich leider nicht.
 
Status
Not open for further replies.
Top