bueffel110
Anmeldungsdatum: 15. Dezember 2006
Beiträge: 291
|
Ich habe mit "gedit" eine leere "my.sh" entworfen, wir in "Bash-Skripting-Guide für Anfänger" steht.
knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ chmod +x my.sh
knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ my
my: Befehl nicht gefunden.
knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ type: my.sh
Der Befehl »type:« wurde nicht gefunden, meinten Sie vielleicht:
Befehl »typer« aus dem Paket »erlang-typer« (universe)
type:: Befehl nicht gefunden.
knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ dir
Beispiele.odt my.sh my.txt Protokoll.odt Skriptvorlage\ BorgBackup.txt
knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ ./my.sh
knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ bash my.sh
knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$
|
Thomas_Do
Moderator
Anmeldungsdatum: 24. November 2009
Beiträge: 8525
|
bueffel110 schrieb:
> knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ ./my.sh
> knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ bash my.sh
> Diese beiden Befehle sollten m.E. funktionieren. Bitte einmal in das Skript-Verzeichnis wechseln und ls -al
cat my.sh
|
Berlin_1946
Supporter, Wikiteam
Anmeldungsdatum: 18. September 2009
Beiträge: 8686
|
Hallo bueffel110, das ist mir aufgefallen.
type: my.sh Laut wiki Bash-Skripting-Guide für Anfänger type Skriptname
Das Ganze lässt sich vermeiden, indem man einfach testet, ob es schon ein Programm mit dem gewünschten Skriptnamen gibt, und das geht folgendermaßen:
mediom@mediom-N73SV:~$ find -name my.sh
./Desktop/my.sh
mediom@mediom-N73SV:~$ type my
bash: type: my: Nicht gefunden.
mediom@mediom-N73SV:~$ type my.sh
bash: type: my.sh: Nicht gefunden.
aber das ergibt.
mediom@mediom-N73SV:~$ type dir
dir ist /bin/dir
mediom@mediom-N73SV:~$
Die Angabe ist also eine "negativ" Aussage. Du kannst den Name verwenden, da es ihn nicht gibt. So verstehe ich das Zitat.
|
bueffel110
(Themenstarter)
Anmeldungsdatum: 15. Dezember 2006
Beiträge: 291
|
Hallo,
wie es dazu kommen konnte weiß ich nicht: Berlin_1946 schrieb: type: my.sh
Die Angabe ist also eine "negativ" Aussage. Du kannst den Name verwenden, da es ihn nicht gibt. So verstehe ich das Zitat.
ich auch!
|
Berlin_1946
Supporter, Wikiteam
Anmeldungsdatum: 18. September 2009
Beiträge: 8686
|
Thomas_Do schrieb: Bitte einmal in das Skript-Verzeichnis wechseln und ls -al
cat my.sh
Das wäre schon noch wichtig. 😇 PS.: Sry, das ist das Verzeichnis /media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$
|
Thomas_Do
Moderator
Anmeldungsdatum: 24. November 2009
Beiträge: 8525
|
Der Thread ist als gelöst markiert. Läuft das Skript jetzt zufriedenstellend?
|
Berlin_1946
Supporter, Wikiteam
Anmeldungsdatum: 18. September 2009
Beiträge: 8686
|
Thomas_Do schrieb: Der Thread ist als gelöst markiert. Läuft das Skript jetzt zufriedenstellend?
Veroeffentliche-abschliessend-Deine-Loesung ⮷ Ja und das hat jeder akzeptiert. 😇
|
bueffel110
(Themenstarter)
Anmeldungsdatum: 15. Dezember 2006
Beiträge: 291
|
Nur vorübergehen ist Thread als gelöst markiert worden. Borg läuft noch immer, und ich will nicht riskiren das es abstürst. Ich habe die "Skriptvorlage_BorgBackup.sh" auf meine Bedüfnisse angepasst.
sudo apt-get update
sudo apt-get install anacron
sudo ln -s /mein Pfad zum /borgbackup.sh /etc/cron.hourly/borgbackup #für anacron darf kein Punkt im Namen vorhanden sein
Bis zum EXIT lauft das Skript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76 | # bash Skriptvorlage_BorgBackup.sh
#!/bin/bash
# Skriptvorlage BorgBackup
# https://wiki.ubuntuusers.de/BorgBackup/
# https://borgbackup.readthedocs.io/en/stable/
# Hier Pfad zum Sicherungsmedium angeben.
# z.B. zielpfad="/media/peter/HD_Backup"
zielpfad="/media/knabe/backup/backup-von-Jörg"
# Hier Namen des Repositorys angeben.
# z.B. repository="borgbackups"
repository="borgArchiv"
repopfad="$zielpfad"/"$repository"
# Hier eine Liste mit den zu sichernden Verzeichnissen angeben
# z.B. sicherung="/home/peter/Bilder /home/peter/Videos --exclude *.tmp"
sicherung="/media/knabe/Schublade/aktuelle-Daten"
# Hier die Art der Verschlüsselung angeben
# z.B. verschluesselung="none"
verschluesselung="repokey"
export BORG_PASSPHRASE="yyyyyy"
# Hier die Art der Kompression angeben
# z.B. kompression="none"
kompression="lz4"
echo "Borg Sichert alles von: "$sicherung"
in der Borg-Repository
mit der Kompression: $kompression.
Die Borg-Repository ist: $repopfad "
# Hier angeben, ob vor der Ausführung von BorgBackup auf vorhandene Root-Rechte geprüft werden soll
# z.B. rootuser="ja"
rootuser="nein"
###################################################################################################
# check for root
if [ $(id -u) -ne 0 ] && [ "$rootuser" == "ja" ]; then
echo "Sicherung muss als Root-User ausgeführt werden."
exit 1
fi
# Init borg-repo if absent
if [ ! -d $repopfad ]; then
borg init --encryption=$verschluesselung $repopfad
echo "Borg-Repository erzeugt unter $repopfad"
fi
# backup data
SECONDS=0
echo "Start der Sicherung $(date)."
########################################################################################################################
exit
########################################################################################################################
borg create --compression $kompression --exclude-caches --one-file-system -v --stats --progress \
$repopfad::'{hostname}-{now:%Y-%m-%d-%H%M%S}' $sicherung
echo "Ende der Sicherung $(date). Dauer: $SECONDS Sekunden"
###################################################################################################
# Hier angeben nach welchem Schema alte Archive gelöscht werden sollen.
# Die Vorgabe behält alle Sicherungen des aktuellen Tages. Zusätzlich das aktuellste Archiv der
# letzten 7 Sicherungstage, der letzten 4 Wochen sowie der letzten 12 Monate.
#pruning="--keep-within=1d --keep-daily=7 --keep-weekly=4 --keep-monthly=12"
# prune archives
#borg prune -v --list $repopfad --prefix '{hostname}-' $pruning
|
Ich will noch: Wenn das Backup-LW angeschlossen werden sollte 1x Mal das Skript ausgefürt wird. Gibt einen Fortschrittsanzeiger?
|
Vej
Moderator, Supporter
Anmeldungsdatum: 7. März 2013
Beiträge: 3391
|
bueffel110 schrieb: Ich will noch: Wenn das Backup-LW angeschlossen werden sollte 1x Mal das Skript ausgefürt wird.
Klassische Lösung dafür ist udev.
|
bueffel110
(Themenstarter)
Anmeldungsdatum: 15. Dezember 2006
Beiträge: 291
|
Das ende von Skript macht eine Fehler:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 | knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ bash Skriptvorlage_BorgBackup.sh
Borg Sichert alles von: /media/knabe/Schublade/aktuelle-Daten /home/knabe/.mozilla /home/knabe/.thunderbird
in der Borg-Repository
mit der Kompression: lz4.
Die Borg-Repository ist: /media/knabe/backup/backup-von-Jörg/borgArchiv
Local Exception.
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/borg/archiver.py", line 2168, in main
exit_code = archiver.run(args)
File "/usr/lib/python3/dist-packages/borg/archiver.py", line 2104, in run
return set_ec(func(args))
File "/usr/lib/python3/dist-packages/borg/archiver.py", line 99, in wrapper
with repository:
File "/usr/lib/python3/dist-packages/borg/repository.py", line 82, in __enter__
self.create(self.path)
File "/usr/lib/python3/dist-packages/borg/repository.py", line 103, in create
os.mkdir(path)
FileNotFoundError: [Errno 2] No such file or directory: '/media/knabe/backup/backup-von-Jörg/borgArchiv'
Platform: Linux ThinkPad-T61 4.13.0-37-generic #42~16.04.1-Ubuntu SMP Wed Mar 7 16:03:28 UTC 2018 x86_64 x86_64
Linux: Ubuntu 16.04 xenial
Borg: 1.0.11 Python: CPython 3.5.2
PID: 3121 CWD: /media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup
sys.argv: ['/usr/bin/borg', 'init', '--encryption=repokey', '/media/knabe/backup/backup-von-Jörg/borgArchiv']
SSH_ORIGINAL_COMMAND: None
Borg-Repository erzeugt unter /media/knabe/backup/backup-von-Jörg/borgArchiv
Start der Sicherung Sa 31. Mär 12:27:48 CEST 2018.
Repository /media/knabe/backup/backup-von-Jörg/borgArchiv does not exist.
Ende der Sicherung Sa 31. Mär 12:27:49 CEST 2018. Dauer: 1 Sekunden
|
hier das Skript nochmal:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 | # bash Skriptvorlage_BorgBackup.sh # Aufrufen aus /media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup
# ********************************
#!/bin/bash
# Skriptvorlage BorgBackup
# https://wiki.ubuntuusers.de/BorgBackup/
# https://borgbackup.readthedocs.io/en/stable/
# Hier Pfad zum Sicherungsmedium angeben.
# z.B. zielpfad="/media/peter/HD_Backup"
zielpfad="/media/knabe/backup/backup-von-Jörg"
# Hier Namen des Repositorys angeben.
# z.B. repository="borgbackups"
repository="borgArchiv"
repopfad="$zielpfad"/"$repository"
# Hier eine Liste mit den zu sichernden Verzeichnissen angeben
# z.B. sicherung="/home/peter/Bilder /home/peter/Videos --exclude *.tmp"
sicherung="/media/knabe/Schublade/aktuelle-Daten /home/knabe/.mozilla /home/knabe/.thunderbird"
# Hier die Art der Verschlüsselung angeben
# z.B. verschluesselung="none"
verschluesselung="repokey"
export BORG_PASSPHRASE="yyyyyy"
# Hier die Art der Kompression angeben
# z.B. kompression="none"
kompression="lz4"
echo "Borg Sichert alles von: "$sicherung"
in der Borg-Repository
mit der Kompression: $kompression.
Die Borg-Repository ist: $repopfad "
# Hier angeben, ob vor der Ausführung von BorgBackup auf vorhandene Root-Rechte geprüft werden soll
# z.B. rootuser="ja"
rootuser="nein"
###################################################################################################
# check for root
if [ $(id -u) -ne 0 ] && [ "$rootuser" == "ja" ]; then
echo "Sicherung muss als Root-User ausgeführt werden."
exit 1
fi
# Init borg-repo if absent
if [ ! -d $repopfad ]; then
borg init --encryption=$verschluesselung $repopfad
echo "Borg-Repository erzeugt unter $repopfad"
fi
# backup data
SECONDS=0
echo "Start der Sicherung $(date)."
########################################################################################################################
# exit
########################################################################################################################
borg create --compression $kompression --exclude-caches --one-file-system -v --stats --progress \
$repopfad::'{hostname}-{now:%Y-%m-%d-%H%M%S}' $sicherung
echo "Ende der Sicherung $(date). Dauer: $SECONDS Sekunden"
###################################################################################################
# Hier angeben nach welchem Schema alte Archive gelöscht werden sollen.
# Die Vorgabe behält alle Sicherungen des aktuellen Tages. Zusätzlich das aktuellste Archiv der
# letzten 7 Sicherungstage, der letzten 4 Wochen sowie der letzten 12 Monate.
#pruning="--keep-within=1d --keep-daily=7 --keep-weekly=4 --keep-monthly=12"
# prune archives
#borg prune -v --list $repopfad --prefix '{hostname}-' $pruning
|
Um udev kümmere ich mich später, Danke.
|
bueffel110
(Themenstarter)
Anmeldungsdatum: 15. Dezember 2006
Beiträge: 291
|
Das Rumpfskript läuft:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77 | # bash Skriptvorlage_BorgBackup.sh # Aufrufen aus /media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup
# ********************************
#!/bin/bash
# Skriptvorlage BorgBackup
# https://wiki.ubuntuusers.de/BorgBackup/
# https://borgbackup.readthedocs.io/en/stable/
# Hier Pfad zum Sicherungsmedium angeben.
# z.B. zielpfad="/media/peter/HD_Backup"
zielpfad="/media/knabe/backup/backup-von-Jörg"
# Hier Namen des Repositorys angeben.
# z.B. repository="borgbackups"
repository="borgArchiv"
repopfad="$zielpfad"/"$repository"
# Hier eine Liste mit den zu sichernden Verzeichnissen angeben
# z.B. sicherung="/home/peter/Bilder /home/peter/Videos --exclude *.tmp"
sicherung="/media/knabe/Schublade/aktuelle-Daten /home/knabe/.mozilla /home/knabe/.thunderbird"
# Hier die Art der Verschlüsselung angeben
# z.B. verschluesselung="none"
verschluesselung="repokey"
export BORG_PASSPHRASE="yyyyyy"
# Hier die Art der Kompression angeben
# z.B. kompression="none"
kompression="lz4"
echo "Borg Sichert alles von: "$sicherung"
in der Borg-Repository
mit der Kompression: $kompression.
Die Borg-Repository ist: $repopfad "
# Hier angeben, ob vor der Ausführung von BorgBackup auf vorhandene Root-Rechte geprüft werden soll
# z.B. rootuser="ja"
rootuser="nein"
###################################################################################################
# check for root
if [ $(id -u) -ne 0 ] && [ "$rootuser" == "ja" ]; then
echo "Sicherung muss als Root-User ausgeführt werden."
exit 1
fi
########################################################################################################################
# exit
########################################################################################################################
# Init borg-repo if absent
# if [ ! -d $repopfad ]; then
# borg init --encryption=$verschluesselung $repopfad
# echo "Borg-Repository erzeugt unter $repopfad"
# fi
# backup data
SECONDS=0
echo "Start der Sicherung $(date)."
borg create --compression $kompression --exclude-caches --one-file-system -v --stats --progress \
$repopfad::'{hostname}-{now:%Y-%m-%d-%H%M%S}' $sicherung
echo "Ende der Sicherung $(date). Dauer: $SECONDS Sekunden"
###################################################################################################
# Hier angeben nach welchem Schema alte Archive gelöscht werden sollen.
# Die Vorgabe behält alle Sicherungen des aktuellen Tages. Zusätzlich das aktuellste Archiv der
# letzten 7 Sicherungstage, der letzten 4 Wochen sowie der letzten 12 Monate.
#pruning="--keep-within=1d --keep-daily=7 --keep-weekly=4 --keep-monthly=12"
# prune archives
#borg prune -v --list $repopfad --prefix '{hostname}-' $pruning
|
es erzeugt
knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$ bash Skriptvorlage_BorgBackup.sh
Borg Sichert alles von: /media/knabe/Schublade/aktuelle-Daten /home/knabe/.mozilla /home/knabe/.thunderbird
in der Borg-Repository
mit der Kompression: lz4.
Die Borg-Repository ist: /media/knabe/backup/backup-von-Jörg/borgArchiv
Start der Sicherung Sa 31. Mär 19:38:57 CEST 2018.
------------------------------------------------------------------------------
Archive name: ThinkPad-T61-2018-03-31-193858
Archive fingerprint: f7067a9d1400150feff1d277aadf2c17a7eac9679a8f25d85c970765e2a333f6
Time (start): Sat, 2018-03-31 19:39:00
Time (end): Sat, 2018-03-31 19:43:08
Duration: 4 minutes 8.32 seconds
Number of files: 310817
------------------------------------------------------------------------------
Original size Compressed size Deduplicated size
This archive: 1.25 TB 1.25 TB 87.69 MB
All archives: 2.50 TB 2.50 TB 841.82 GB
Unique chunks Total chunks
Chunk index: 495172 1486635
------------------------------------------------------------------------------
Ende der Sicherung Sa 31. Mär 19:43:12 CEST 2018. Dauer: 255 Sekunden
knabe@ThinkPad-T61:/media/knabe/Schublade/aktuelle-Daten/Computer/Software/borgbackup$
weite mit udev.
|