Bashskript, Partition mounten, Backup erstellen, Partition unmounten

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
wurst10
Beiträge: 193
Registriert: 22.07.2019 09:19:17

Bashskript, Partition mounten, Backup erstellen, Partition unmounten

Beitrag von wurst10 » 04.01.2022 06:39:36

Hallo zusammen,

ich habe wie hier beschrieben viewtopic.php?t=183157, ein Backupskript erstellt.
Die Backupdatei möchte ich in den Ordner "backup" einer bestimmten Partition ( /dev/nvme0n1p6) erstellen lassen.
Die Partition muss vor dem Erstellen gemountet und nach dem Erstellen umountet werden.
Der Nutzer hat per "sudo (nopassword)" die Rechte "mount+umount" zu verwenden.

Fragen dazu:

1.
Muss ich "sudo" verwenden? (Eigentlich möchte ich "sudo" nicht verwenden)
Einmal das Root PW eingeben um das Skript zu starten wäre ok.

2.
Ist mein Draft ok, oder muss ich noch etwas beachten?

Code: Alles auswählen

#!/bin/sh
DATE=$(date +%d.%m.%Y@%H-%M-%S-Uhr)
BACKUP_DIR="/mnt/backup/"
sudo mount /dev/nvme0n1p6 /mnt 
tar cvfz $BACKUP_DIR/backup-selected-home.$DATE.tar.xz -X /home/USER/pfad/zu/exclude_files -T /home/USER/pfad/zu/include_files
sudo umount /dev/nvme0n1p6
EDIT:
Habe es mehrfach getestet, läuft fehlerfrei.
Wie kann man in dem Skript "sudo" durch "su -l" ersetzen?

Benutzeravatar
GregorS
Beiträge: 3124
Registriert: 05.06.2008 09:36:37
Wohnort: Freiburg
Kontaktdaten:

Re: Bashskript, Partition mounten, Backup erstellen, Partition unmounten

Beitrag von GregorS » 06.01.2022 03:11:26

wurst10 hat geschrieben: ↑ zum Beitrag ↑
04.01.2022 06:39:36
...?
Seit Plattenplatz eigentlich kein Thema mehr ist, speichere ich meine Daten unkomprimiert auf einer externen Platte. Wenn man seine Daten einigermaßen sortiert hält, ist das IMO am sichersten und komfortabelsten. Wichtig war mir beim letzten Kauf für eine Systemplatte, dass sie „möglichst klein“ ist. So kann ich bei Bedarf ein dd-Backup der vollständigen Platte auf mein Backup-Medium (eine externe USB-Platte mit 4 TB) ziehen. Sachen aus meinen Arbeitsverzeichnissen werden wöchentlich auf eine separate, sonst ro gemountete Platte aufgeräumt („Datensammlung“, 1 TB).
Als wöchentliche Aktion wird die /home-Partition gesichert (cp -arx * <ziel>) und die Datensammlung abgeglichen (rsync --exclude=lost+found/ -auqEhs <quelle> <ziel>).
Auf die Art wächst die Datensammlung im Backup über die Zeit, weil nichts gelöscht wird, was ich „händisch“ aus meiner Datensammlung werfe. Alle paar Monate/Jahre muss ich mal ein frisches „Ur-Backup“ fahren, was halt mal eine Nacht lang läuft. Bis dahin ist mein Backup auch eine Art „Papierkorb mit sehr langer Haltezeit“.

Dass ein tar-Backup über den Jordan gegangen ist, habe ich schon mal erlebt.

HTH

Gregor
Wenn man keine Probleme hat, kann man sich welche machen. ("Großes Lötauge", Medizinmann der M3-Hopi [und sog. Maker])

DeletedUserReAsG

Re: Bashskript, Partition mounten, Backup erstellen, Partition unmounten

Beitrag von DeletedUserReAsG » 06.01.2022 07:40:51

wurst10 hat geschrieben: ↑ zum Beitrag ↑
04.01.2022 06:39:36
Wie kann man in dem Skript "sudo" durch "su -l" ersetzen?
Idealerweise gar nicht; besser wär’s, den Vorgang für den User zu ermöglichen (Eintrag in fstab o.ä.). Wenn es unbedingt pro Anwendung legitimiert werden muss, dann wäre sudo eigentlich tatsächlich die beste Option – allerdings nicht in der kaputten Ubuntu-Config, sondern so, wie’s eigentlich gedacht ist: dem User werden die Rechte nur für den konkreten Befehl eingeräumt. Wenn’s darum geht, dass das Rootpasswort benötigt werden soll: auch das lässt sich da konfigurieren. Wenn du’s aber trotzdem unbedingt willst: su -lc 'Befehl' sollte den Job tun.

Benutzeravatar
wurst10
Beiträge: 193
Registriert: 22.07.2019 09:19:17

Re: Bashskript, Partition mounten, Backup erstellen, Partition unmounten

Beitrag von wurst10 » 06.01.2022 19:48:45

niemand hat geschrieben: ↑ zum Beitrag ↑
06.01.2022 07:40:51
wurst10 hat geschrieben: ↑ zum Beitrag ↑
04.01.2022 06:39:36
Wie kann man in dem Skript "sudo" durch "su -l" ersetzen?
Idealerweise gar nicht; besser wär’s, den Vorgang für den User zu ermöglichen (Eintrag in fstab o.ä.). Wenn es unbedingt pro Anwendung legitimiert werden muss, dann wäre sudo eigentlich tatsächlich die beste Option – allerdings nicht in der kaputten Ubuntu-Config, sondern so, wie’s eigentlich gedacht ist: dem User werden die Rechte nur für den konkreten Befehl eingeräumt. Wenn’s darum geht, dass das Rootpasswort benötigt werden soll: auch das lässt sich da konfigurieren. Wenn du’s aber trotzdem unbedingt willst: su -lc 'Befehl' sollte den Job tun.
Danke für die Hinweise, dann lasse ich es bei "sudo" mit "nopassword" für diesen user und den 2 Befehlen.


GregorS hat geschrieben: ↑ zum Beitrag ↑
06.01.2022 03:11:26
Seit Plattenplatz eigentlich kein Thema mehr ist, speichere ich meine Daten unkomprimiert auf einer externen Platte. Wenn man seine Daten einigermaßen sortiert hält, ist das IMO am sichersten und komfortabelsten. Wichtig war mir beim letzten Kauf für eine Systemplatte, dass sie „möglichst klein“ ist. So kann ich bei Bedarf ein dd-Backup der vollständigen Platte auf mein Backup-Medium (eine externe USB-Platte mit 4 TB) ziehen. Sachen aus meinen Arbeitsverzeichnissen werden wöchentlich auf eine separate, sonst ro gemountete Platte aufgeräumt („Datensammlung“, 1 TB).
Als wöchentliche Aktion wird die /home-Partition gesichert (cp -arx * <ziel>) und die Datensammlung abgeglichen (rsync --exclude=lost+found/ -auqEhs <quelle> <ziel>).
Auf die Art wächst die Datensammlung im Backup über die Zeit, weil nichts gelöscht wird, was ich „händisch“ aus meiner Datensammlung werfe. Alle paar Monate/Jahre muss ich mal ein frisches „Ur-Backup“ fahren, was halt mal eine Nacht lang läuft. Bis dahin ist mein Backup auch eine Art „Papierkorb mit sehr langer Haltezeit“.

Dass ein tar-Backup über den Jordan gegangen ist, habe ich schon mal erlebt.

HTH

Gregor
Danke für die Hinweise, ich habe eine puristischere Strategie.
Ich sichere nur selbst geschriebene Textdateien bzw. Skripten und die für eine Replika des Systems notwendigen Konfigurationsdateien, regelmäßig.
Komplette Systembackups mache ich schon lange nicht mehr denn eine Neuinstallation (falls notwendig) von z.B. Arch Linux (stable) dauert unter 10 Min. Debian (stable) unter 15 Min.
Mittels der gesicherten Konfigurationsdateien (+ Paketlisten usw.) kann ich das System dann ziemlich exakt reproduzieren ohne mir Gedanken um Partitionstypen, UUID's usw. machen zu müssen. Das spart eine Menge Zeit und Platz für Backups. Ressourcenschonendes Verhalten, ist für mich eine Geisteshaltung die ich nicht verändere, egal was der Geldbeutel oder der Markt hergibt.

Antworten