Jede 30 Minuten Script ausfuehren

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Knogle
Beiträge: 465
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: MIT Lizenz

Jede 30 Minuten Script ausfuehren

Beitrag von Knogle » 18.11.2016 15:38:40

Ich gruesse euch liebe Community,
Ich habe aktuell folgendes Script welches Backups meines Minecraft Servers erstellt, jedoch aktuell nur Manuell

Wie kann ich realisieren dass ich das z.B. jede 10 oder 30 Minuten ausfuehren kann?

Das Script sieht wie folgt aus und kopiert den Minecraft Ordner auf meine Festplatte

Code: Alles auswählen

#!/bin/bash

Quellordner="/home/wheel/minecraft"
Zielordner="/sde1/Backups/Minecraft_Backup_$(date +%Y-%m-%d_%H-%M).tar"

#ueberpruefen ob der Quellordner existiert und der Zielordner noch nicht vorhan$
if [ ! -d "${Quellordner}" ]; then
    echo "Quellordner existiert nicht!"
    exit 1
fi
if [ -d "${Zielordner}" ]; then
    echo "Zielordner bereits vorhanden!"
    exit 1
fi

#Kopieren und falls erfolgreich abgeschlossen -> Erfolgsmeldung
screen tar -zcvf  "${Zielordner}" "${Quellordner}" && echo "Archivieren erfolgreich"| 7za a -t7z -si -m0=lzma -mx=9 -mfb=64 -md32m -ms=on /sde1/Backups/Minecraft_Backup_$(date +%Y-%m-%d_%H-%M).tar.7z


Bitte um Rat

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Jede 30 Minuten Script ausufuehren

Beitrag von eggy » 18.11.2016 15:51:20

Vor nen paar Tage gabs hier die Frage "Script alle stunde ausführen" (oder so ähnlich), benutz mal die Suche, Stichwort cron

Benutzeravatar
sbruder
Beiträge: 333
Registriert: 24.06.2016 13:54:36
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Franken

Re: Jede 30 Minuten Script ausufuehren

Beitrag von sbruder » 18.11.2016 15:56:53

in die crontab (editierbar mit

Code: Alles auswählen

crontab -e
):

Code: Alles auswählen

*/10 * * * * /path/to/my/script.sh
10 kann auch durch 30 ersetzt werden

Benutzeravatar
Doris
Beiträge: 38
Registriert: 05.04.2008 09:36:39
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: in Niedersachsen
Kontaktdaten:

Re: Jede 30 Minuten Script ausufuehren

Beitrag von Doris » 18.11.2016 17:28:18

auf folgender Seite wird ist es recht gut erklärt:
http://www.sysadminslife.com/linux/cron ... erstellen/

.

Knogle
Beiträge: 465
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: MIT Lizenz

Re: Jede 30 Minuten Script ausfuehren

Beitrag von Knogle » 21.11.2016 12:50:19

Vielen Dank schonmal fuer eure Antworten.
Den Weg ueber Crontab -e habe ich bereits probiert, jedoch war das leider nicht von erfolg gekroent :/
Das Script wird ueber Crontab -e einfach nicht ausgefuehrt, aber ich weiss auch nicht warum
Ich bitte um weiteren Rat

Benutzeravatar
TRex
Moderator
Beiträge: 8071
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Jede 30 Minuten Script ausfuehren

Beitrag von TRex » 21.11.2016 12:58:56

newline am Ende vergessen? Mal im syslog nachgeschaut?
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Knogle
Beiträge: 465
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: MIT Lizenz

Re: Jede 30 Minuten Script ausfuehren

Beitrag von Knogle » 21.11.2016 16:09:44

Wie finde ich das Syslog?
Also wenn ich es ganz normal ueber Konsole ausfuehre gehts, nur ueber Crontab nicht

Benutzeravatar
sbruder
Beiträge: 333
Registriert: 24.06.2016 13:54:36
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Franken

Re: Jede 30 Minuten Script ausfuehren

Beitrag von sbruder » 21.11.2016 16:43:25

Knogle hat geschrieben:Wie finde ich das Syslog?
Also wenn ich es ganz normal ueber Konsole ausfuehre gehts, nur ueber Crontab nicht
Ein Log findest du unte /var/log/syslog oder unter systemd mit

Code: Alles auswählen

journalctl
Hast Du einen lokalen MTA installiert? dann müsstest Du den Fehler per Mail zugestellt bekommen

Knogle
Beiträge: 465
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: MIT Lizenz

Re: Jede 30 Minuten Script ausfuehren

Beitrag von Knogle » 21.11.2016 20:59:09

MTA habe ich nicht installiert
Hier mal aus der journal ctl

Code: Alles auswählen


Nov 21 00:40:01 pd05099939009 CRON[4787]: (root) CMD (./home/wheel/mc.sh)
Nov 21 00:40:01 pd05099939009 CRON[4786]: (CRON) info (No MTA installed, discarding output)
Nov 21 00:40:01 pd05099939009 CRON[4786]: pam_unix(cron:session): session closed for user root
Nov 21 00:50:01 pd05099939009 CRON[4858]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 21 00:50:01 pd05099939009 CRON[4859]: (root) CMD (./home/wheel/mc.sh)
Nov 21 00:50:01 pd05099939009 CRON[4858]: (CRON) info (No MTA installed, discarding output)
Nov 21 00:50:01 pd05099939009 CRON[4858]: pam_unix(cron:session): session closed for user root
Nov 21 00:51:59 pd05099939009 sshd[4875]: Received disconnect from 221.194.47.229: 11:  [preauth]
Nov 21 00:53:29 pd05099939009 sshd[4887]: Received disconnect from 221.194.44.219: 11:  [preauth]
Nov 21 00:54:21 pd05099939009 sshd[4894]: Received disconnect from 121.18.238.109: 11:  [preauth]
Nov 21 01:00:01 pd05099939009 CRON[4931]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 21 01:00:01 pd05099939009 CRON[4932]: (root) CMD (./home/wheel/mc.sh)
Nov 21 01:00:01 pd05099939009 CRON[4931]: (CRON) info (No MTA installed, discarding output)
Nov 21 01:00:01 pd05099939009 CRON[4931]: pam_unix(cron:session): session closed for user root
Nov 21 01:06:00 pd05099939009 smartd[4539]: Device: /dev/sdc [SAT], open() failed: No such device
Nov 21 01:09:01 pd05099939009 CRON[4990]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 21 01:09:01 pd05099939009 CRON[4991]: (root) CMD (  [ -x /usr/lib/php5/sessionclean ] && /usr/lib/php5/sessionclean)
Nov 21 01:09:01 pd05099939009 CRON[4990]: pam_unix(cron:session): session closed for user root
Nov 21 01:10:01 pd05099939009 CRON[5035]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 21 01:10:01 pd05099939009 CRON[5036]: (root) CMD (./home/wheel/mc.sh)
Nov 21 01:10:01 pd05099939009 CRON[5035]: (CRON) info (No MTA installed, discarding output)
Nov 21 01:10:01 pd05099939009 CRON[5035]: pam_unix(cron:session): session closed for user root
Nov 21 01:17:01 pd05099939009 CRON[5095]: pam_unix(cron:session): session opened for user root by (uid=0)
Nov 21 01:17:01 pd05099939009 CRON[5096]: (root) CMD (   cd / && run-parts --report /etc/cron.hourly)
Nov 21 01:17:02 pd05099939009 CRON[5095]: (CRON) info (No MTA installed, discarding output)


Benutzeravatar
sbruder
Beiträge: 333
Registriert: 24.06.2016 13:54:36
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Franken

Re: Jede 30 Minuten Script ausfuehren

Beitrag von sbruder » 21.11.2016 21:05:51

Installier doch mal einen MTA (nur temporär) und ein lokalmail-programm:

Code: Alles auswählen

apt install postfix mutt
Bei Postfix »nur lokal« auswählen. Dann warte mal, bis das skript ausgeführt werden müsste, gebe ein und wenn da Cron-Mails sind schau sie Dir an und poste den Inhalt nach NoPaste.

Knogle
Beiträge: 465
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: MIT Lizenz

Re: Jede 30 Minuten Script ausfuehren

Beitrag von Knogle » 21.11.2016 21:50:19

Hmm also bei mutt ist leider nichts drin, und nun ist das journalctl mit folgendem geflootet:


Nov 21 21:43:20 pd05099939009 postfix/pickup[17019]: 717AB5F: uid=0 from=<root>
Nov 21 21:43:20 pd05099939009 postfix/cleanup[17097]: 717AB5F: message-id=<20161121204320.717AB5F@pd05099939009.Speedport_W_724V_Typ_A_05011603_00_009>
Nov 21 21:43:20 pd05099939009 postfix/cleanup[17097]: warning: 717AB5F: write queue file: No space left on device
Nov 21 21:43:20 pd05099939009 postfix/pickup[17019]: warning: maildrop/437B957: error writing 717AB5F: queue file write error
Nov 21 21:43:20 pd05099939009 postfix/pickup[17019]: 719AA5F: uid=0 from=<root>

Benutzeravatar
TRex
Moderator
Beiträge: 8071
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Jede 30 Minuten Script ausfuehren

Beitrag von TRex » 21.11.2016 22:02:24

Deine Platte scheint voll zu sein. Zur newline hast du nix mehr gesagt - hast du das kontrolliert?
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Knogle
Beiträge: 465
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: MIT Lizenz

Re: Jede 30 Minuten Script ausfuehren

Beitrag von Knogle » 24.11.2016 12:10:36

So habe mal Debian neu aufgesetzt und alles auf eine Partition gesteckt um sicherzustellen dass /var nicht wieder volllaeuft
Nun habe ich das ganze mal wiederholt mit crontab -e, aber diesmal mit ausgabe in eine Datei
Das Script wird jedoch wieder aus irgendeinem Grund nicht ausgefuehrt. Jedoch findet sich in der Ausgabedatei folgender Inhalt:

Code: Alles auswählen


Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.
Must be connected to a terminal.


Wie ist das zu deuten?

Knogle
Beiträge: 465
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: MIT Lizenz

Re: Jede 30 Minuten Script ausfuehren

Beitrag von Knogle » 24.11.2016 13:36:43

Problem gefunden: Die Nutzung von "screen" geht irgendwie nicht ueber crontab
Weiterhin muss bei der Nutzung von 7z die Ausgabe in eine Datei geschrieben werden mit >> xyz.txt, weil es sonst auch nicht geht
Habe beides nun gemacht, nun laeuft es 1A :D

Antworten