Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
25.09.2021, 05:41:50

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
Statistiken
  • Beiträge insgesamt: 755096
  • Themen insgesamt: 60702
  • Heute online: 445
  • Am meisten online: 2287
  • (22.01.2020, 19:20:24)
Benutzer Online
Mitglieder: 3
Gäste: 213
Gesamt: 216

Autor Thema:  systemd Service mit Passworteingabe  (Gelesen 313 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

systemd Service mit Passworteingabe
« am: 18.06.2021, 20:06:04 »
Hallo,
ich will ein Datenbank-Backup automatisch einmal täglich ausführen. Der Befehl ist:
mysqldump -u Benutzername -p Datenbank > DatenbankBACKUP.sqldanach muss ja das Passwort für den Datenbank-Benutzer eingegeben werden.

Wie kann ich so eine Passworteingabe in einen systemd-Service integrieren?

Re: systemd Service mit Passworteingabe
« Antwort #1 am: 18.06.2021, 21:38:04 »

Re: systemd Service mit Passworteingabe
« Antwort #2 am: 19.06.2021, 11:16:04 »
Ich habe mich an diese Anleitung gehalten: https://www.makes-it-work.de/mysql-datenbank-backup-via-mysqldump-ohne-root-passwort/
Das funktioniert also jetzt ohne PW-Eingabe:
sudo /usr/bin/mysqldump Datenbank > DatenbankBACKUP.sqlWenn ich das in ein shellscript /usr/bin/Database_Backup packe,
#!/bin/bash
/usr/bin/mysqldump Datenbank > DatenbankBACKUP.sql
und die Rechte setze
chmod 700 Database_Backupfunktioniert es nicht mehr
sudo ./Database_Backup
sudo: ./Database_Backup: command not found
sudo /usr/bin/Database_Backup
sudo: unable to execute /usr/bin/Database_Backup: No such file or directory
-> Aber die Datei ist da, ganz sicher.
cd /usr/bin/
./Database_Backup
bash: ./Database_Backup: /bin/bash^M: bad interpreter: No such file or directory
Warum funktioniert das nicht?

Re: systemd Service mit Passworteingabe
« Antwort #3 am: 19.06.2021, 11:33:35 »
laut der letzten Anzeige heißt die Datei "./Database_Backup" - was ich für sehr unglücklich halte.
Wenn ich richtig liege müsste der "Startbefehl" lauten
"././Database_Backup" oder "bash ./Database_Backup" - (Befehle gewollt nicht als Code dargestellt)

Ändere den Dateinamen in "Database_Backup" dann sollten die Befehle
./Database_Backup 
oder
bash Database_Backupfunktionieren.
« Letzte Änderung: 19.06.2021, 11:38:26 von billyfox05 »

Re: systemd Service mit Passworteingabe
« Antwort #4 am: 19.06.2021, 12:19:30 »
Die Datei heißt Database_Backup - schon die ganze Zeit  :)

das funktioniert:
sudo bash Database_Backupdas nicht:
sudo ./Database_Backup
sudo: ./Database_Backup: command not found
warum nicht?

Re: systemd Service mit Passworteingabe
« Antwort #5 am: 19.06.2021, 12:50:31 »
Sorry - dann habe ich das falsch interpretiert
Zitat
cd /usr/bin/
./Database_Backup
bash: ./Database_Backup: /bin/bash^M: bad interpreter: No such file or directory
(nach dem 3. Lesen hab ich es aber auch verstanden  ;D)
Warum "./" nicht funktioniert weiß ich leider nicht.