AnonymusChaotic
Workaholic
Gegebenheiten:
Die Server liegen im verzeichnis $HOME/servers/$servername
Backups sollen im verzeichnis $HOME/servers/backups/YEAR_MONTH_DAY gespeichert werden.
Was soll gemacht werden?
Abfragen, welcher Server gebackupt werden soll und anschließend die Variable $servername mit dem korrekten Wert belegen.
eine .tar-Datei erzeugen, einen Backup-Ordner für den heutigen Tag erstellen und dieselbe in zuvor backupordner verschieben.
Ja, ich bin im Gebiet der (batch)programmierung blutiger Anfänger
Ausgabe:
Teil 2:
Automatisches Backup-System
Was soll gemacht werden?
Die Screens des Users USERNAME mit
oder ähnlichem beenden, die Backups in .tar oder ähnliche Archivformate verpacken und auf einen anderen Server (ebenfalls Debian minimal, aktuellste Version) kopieren.
Auf dem eigentlichen Server sollen die Dateien ebenfalls bleiben, ich lösche nicht mehr benötigte backups dann manuell.
nach Verpacken startet der Server wieder mit
oder ähnlichem.
Auf dem Backupserver sollten nach Möglichkeit keine Zugangsdaten oder andere für einen Angriff auf den hauptserver verwendbaren daten liegen, ich habe in den Backupserver nicht allzu viel Vertrauen
Würde mich über hilfreiche Tipps beim erstellen des Systems freuen
Die Server liegen im verzeichnis $HOME/servers/$servername
Backups sollen im verzeichnis $HOME/servers/backups/YEAR_MONTH_DAY gespeichert werden.
Was soll gemacht werden?
Abfragen, welcher Server gebackupt werden soll und anschließend die Variable $servername mit dem korrekten Wert belegen.
eine .tar-Datei erzeugen, einen Backup-Ordner für den heutigen Tag erstellen und dieselbe in zuvor backupordner verschieben.
Ja, ich bin im Gebiet der (batch)programmierung blutiger Anfänger
Code:
#!/bin/sh
#Abfrage, welcher Server gebackupt werden soll und in der Variable $name speichern
[INDENT]echo 'Welchen Server backuppen?
Mainserver: m
Funwserver: f
Wienserver: w
bungeecord: b
vanillaserver: v'
read -p 'Gib hier den Namen ein: ' name[/INDENT]
#Datum herausfinden und in der Variable $datum speichern
datum=`date +%Y_%m_%d_%H_%M`
#Testen, welchen Wert die Variable einnimmt und infolgedessen die Variable Servername setzen
if [ $name == m ]
then servername= mainserver]
if [ $name == f ]
then servername= funwserver
if [ $name == w ]
then servername= wienserver
if [ $name == b ]
then servername= bungeecord
if [ $name == v ]
then servername= vanillaserver
echo $servername\ wurde\ gewält\!
#.Tar erzeugen
echo Tar\ von\ $servername\ wird\ erzeugt...
tar cfv ${datum}_${servername}_backup.tar $HOME/servers/funwserver
#Variable fuer heutigen Tag festlegen
tag= `date +%Y_%m_%d`
#Backup-Verzeichnis für heutigen Tag erstellen
if [ -d ${HOME}/servers/backups/${tag} ]
then
echo Verzeichnis\ backup/${tag}\ bereits\ vorhanden
else
mkdir ${HOME}/servers/backups/${tag}
#Verschieben des Archivs in den Tagesordner
mv ${datum}_${servername}_backup.tar ${HOME}/servers/backups/${tag}
echo DONE!
fi
Code:
username@servername:~/servers$ ./backup.sh
Welchen Server backuppen?
Mainserver: m
Funwserver: f
Wienserver: w
bungeecord: b
vanillaserver: v
Gib hier den Namen ein: f
./backup.sh: 39: ./backup.sh: Syntax error: end of file unexpected (expecting "fi")
Teil 2:
Automatisches Backup-System
Was soll gemacht werden?
Die Screens des Users USERNAME mit
Code:
screen -S vanillaserver -X stuff $'end\n
screen -S bungeecord -X stuff $'end\n'
screen -S mainserver -X stuff $'stop\n'
screen -S wienserver -X stuff $'stop\n'
screen -S funwserver -X stuff $'stop\n'
screen -ls
Auf dem eigentlichen Server sollen die Dateien ebenfalls bleiben, ich lösche nicht mehr benötigte backups dann manuell.
nach Verpacken startet der Server wieder mit
Code:
cd ~/servers/bungeecord
screen -L -dmS bungeecord java -Xms50M -Xmx1024M -Xincgc -jar BungeeCord.jar nogui
cd ~/servers/mainserver
screen -L -dmS mainserver java -Xms256M -Xmx4096M -Xincgc -jar minecraft_server.jar nogui
cd ~/servers/wienserver
screen -L -dmS wienserver java -Xms256M -Xmx4096M -Xincgc -jar minecraft_server.jar nogui
cd ~/servers/funwserver
screen -L -dmS funwserver java -Xms256M -Xmx4096M -Xincgc -jar minecraft_server.jar nogui
screen -ls
cd ~/servers/vanillaserver
screen -L -dmS vanillaserver java -Xms256M -Xmx2048M -Xincgc -jar minecraft_server.jar nogui
Auf dem Backupserver sollten nach Möglichkeit keine Zugangsdaten oder andere für einen Angriff auf den hauptserver verwendbaren daten liegen, ich habe in den Backupserver nicht allzu viel Vertrauen
Würde mich über hilfreiche Tipps beim erstellen des Systems freuen