Nach rsync Backup-Server runterfahren

W

wizzardxx

Mitglied
Hallo,

gibt es eine möglichkeit nach einem rsync Backup den Backup-Server automatisch runter zu fahren?

Ich habe ein Fileserver auf dem per Shell Script die Dateien auf einen Backup-Server gesichert werden. Nach dem übertragen soll dieser Backup-Server automatisch runterfahren. Kann man dafür halt -p in das Shell Script schreiben?
rsync läuft über Passwortloses ssh.
 
Hallo,

Wo läuft denn das Shell-Skript? Auf dem Fileserver oder auf dem Backup-Server? Wenn es auf dem Backup-Server läuft: klar. Kann man /sbin/halt -p reinschreiben.
Wenn es auf dem Fileserver läuft, wärst Du damit schlecht beraten.

Gruß
 
Das Script läuft auf dem Fileserver. Beim Backupserver wäre es kein Problem das weiß ich. ;-) Also kann ich mir das mit automatischen runterfahren abschminken?
 
Hallo,

nein, das geht natürlich trotzdem, aber nicht mehr ganz so einfach ;)
Du kannst das z.B. über einen remote-Befehl per ssh machen. Dazu sollten allerdings Schlüssel installiert sein, damit das ganze automatisch und Passwort-los geht:

Auf dem Fileserver als der User, der das Backup durchführt:
Code:
ssh-keygen -t dsa -b 2048

Dann KEIN Passwort für den private Key eingeben (einfach zweimal Enter drücken).
Den PUBLIC KEY dann auf den Backup-Server übertragen (per scp), er sollte auf dem Fileserver im File ~/.ssh/id_dsa.pub liegen. Dort auf dem Backup-Server das File in /root/.ssh/authorized_keys umbenennen (oder falls es schon existiert, anhängen. NICHT ein existierendes File überschreiben!).
Testlogin vom Fileserver auf den Backup-Server sollte jetzt ohne Passwort klappen.
Danach an Deinem Backup-Skript einfach einen SSH-Befehl absetzen:

Code:
# blabla-Code vom Backup

/usr/bin/ssh $BACKUP_SERVER /sbin/halt -p

exit

Fertig :)

Gruß

EDIT: Na, ich hab grad gelesen Du hast ja schon passwortloses SSH ;)
 
Ich habe jetzt im Shell Script eingefügt:

/usr/bin/ssh backupuser@192.168.6.221 /sbin/halt -p

Wenn das Script ausgeführt wird bekomme ich die Fehlermeldung:

halt: must be superuser

Muss ich dem Benutzer: "backupuser" erst noch root rechte geben?
 
Zuletzt bearbeitet:
Jep, musst du. Nur root kann das System runterfahren. Alternativ gibst du dem User einfach sudo-Rechte auf /sbin/halt.
 
Ich habe jetzt in visudo eingegeben:

backupuser ALL=(root)NOPASSWD:/sbin/halt

Bekomme aber die gleiche Fehlermeldung.

halt: must be superuser
 
Das wird daran liegen, dass du /sbin/shutdown auch freigeben musst, da das meines Wissens von /sbin/halt genutzt wird.
Code:
backupuser ALL=/sbin/halt -p, /sbin/shutdown -h now NOPASSWD:ALL
Hoffe, dass die Syntax ok ist. Muesste sonst auch erstmal einen Blick in die Manpage werfen. :) Wichtig ist halt, dass du auch die verwendeten Parameter mit angibst, also den Befehl so, wie du ihn ausfuehren willst.
 
Zuletzt bearbeitet:
Ich kann da eingeben was ich will bekomme immer die Fehlermeldung

Habe jetzt eingetragen:

backupuser ALL=(ALL)NOPASSWD:/sbin/halt -p, /sbin/shutdown -h now

Die Syntax die du gepostet hast bringt mir schon eine Fehlermeldung wenn ich visudo beende.
 
Dann versuch's doch mal mit
Code:
backupuser ALL=(ALL) NOPASSWD: ALL
Wenn es damit nicht geht, liegt das Problem im sudo und die /var/log/messages und/oder die syslog sollte Aufschluss darueber geben wo genau das Problem liegt.
Alternativ kannst du den User auch einfach in eine extra Gruppe packen und
Code:
%gruppe  from-host=/sbin/shutdown -h now
nutzen.
 
Ich Kapituliere. :-(

Die Logs geben kein Aufschluss wo das Problem liegt.
Habe jetzt nach einer anderen Lösung Sudo bearbeitet.
Immer wieder kommt die Meldung mit den Rechten.

Im rsync Shell Script steht:

/usr/bin/ssh backupuser@192.168.6.221 /sbin/halt -p

und in /etc/sudoers habe ich jetzt folgendes geschrieben:

# sudoers file.
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the sudoers man page for the details on how to write a sudoers file.
#

# Host alias specification

# User alias specification

# Cmnd alias specification
Cmnd_Alias SYSTEM = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/poweroff
# Defaults specification

# User privilege specification
root ALL=(ALL) ALL
backupuser ALL=(root) NOPASSWD: SYSTEM

# Uncomment to allow people in group wheel to run all commands
# %wheel ALL=(ALL) ALL

# Same thing without a password
# %wheel ALL=(ALL) NOPASSWD: ALL

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now

Kann es daran liegen das der user backupuser kein Passwort hat?
 
Schau Dir mal Dein eigenes Beispiel aus der /etc/sudoers an:

# Samples
# %users ALL=/sbin/mount /cdrom,/sbin/umount /cdrom
# %users localhost=/sbin/shutdown -h now

So sollte es auch mit einem User gehen:

Code:
backupuser localhost=/sbin/shutdown -h now

In Deinem rsync-Skript musst dann halt shutdown statt halt verwenden.


Gruß
 
wizzardxx schrieb:
/usr/bin/ssh backupuser@192.168.6.221 /sbin/halt -p
Es kann durchaus daran liegen, dass sudo nur User mit Passwoertern akzeptiert. Eine Public-Key-Authentifizierung (geht auch mit rsync via 'rsync -av -e "ssh -i mein-ssh-key.key" zu-uebertragende-dateien user@host:zielverzeichnis') duerfte hier weiter helfen. Also einfach mal ein Passwort setzen und bei rsync eine Public-Key-Authentifizierung nutzen. Anleitungen wie man die einrichtet, gibt's ja genug.
 
Hab ich gemacht.
Danach habe ich den Befehl mal direkt auf dem Backupserver unter dem User
backupuser getippt:

[backupuser@backupserver root]shutdown -h now
shutdown:you must be root to do that!

:-(

@theton
Habe dem User jetzt mal ein Passwort vergeben.
Somit sollte ich doch lokal als backupuser mit shutdown die Rechte haben
soweit es an dem Passwortlosen Account lag.
Geht leider immer noch nicht.
Irgendwie ignoriert der mein sudo
 
Zuletzt bearbeitet:
Aah, jetzt sehe ich was, was ich vorher total uebersehen habe. Du musst in deinem Skript natuerlich 'sudo /sbin/halt -p' aufrufen. Man bin ich blind.
 
Juhuuuuuuuuu

das war es. :-)

Vielen Dank!
 
Zuletzt bearbeitet:

Ähnliche Themen

Verschlüsseltes Backup-Script mit rsync

rsnapshot und ein Rechteproblem?

CentOS VM boot verändern und Netzwerksettings von Share laden

Hilfe bei backup-script

Systemingenieur (w/m) - Schwerpunkt SUSE Linux (Mülheim)

Zurück
Oben