Compare commits

..
10 Commits
10 changed files with 194 additions and 1 deletions

No files matched your search

+34
View File
@@ -0,0 +1,34 @@
#!/bin/sh
# this one makes a copy of the whole /var/www/html from boogie to BFDS
SCRIPTPATH=$(dirname `realpath $0`)
cd $SCRIPTPATH
# rsync source -> destination
SOURCE_PATH=/var/www/virtual/boogie/html
DEST_PATH_FILES=/mnt/bfds/rob/backup/server/boogiedev.net/var_www
# path of the database backups
DEST_PATH_DB=/mnt/bfds/rob/backup/server/boogiedev.net/db
# EXCLUDE="--exclude-from exclude-list"
# ### Get all databases
# kick off DB dumping
curl --insecure --silent https://backup.boogiedev.net/dump_all_databases.php
# download DB dumps
cd $DEST_PATH_DB
curl --insecure --silent https://backup.boogiedev.net/dumps.zip > dumps.zip
if [ -f dumps.zip ]
then
today=`date +%F`
mv dumps.zip all_databases_dump_$today.zip
else
echo "Datenbank Dump konnte nicht herunter geladen werden"
fi
## aufräumen
curl --insecure --silent https://backup.boogiedev.net/dump_all_databases.php?cleanup_dump=1
+7
View File
@@ -0,0 +1,7 @@
backup_all_databases_cMxNrCTVLBPrNo6qaonojeejCvCepekwssh
nextcloud/config/config.php
nextcloud/data/root/files/Extern
nextcloud/updater
nextcloud/backup
/nextcloud-data/updater-*/
files_trashbin/
+1
View File
@@ -0,0 +1 @@
credentials.php
+6
View File
@@ -0,0 +1,6 @@
The content of this folder hast to be on the Boogie server at:
/var/www/virtual/boogie/html/backup-boogie
Its the server side enpoint of the backup script running on BFDS.
The credentials.php has to be filled but never commited to the git
@@ -0,0 +1,83 @@
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$zipfile = "dumps.zip";
if (isset($_GET['cleanup_dump']) && $_GET['cleanup_dump'] == 1)
{
Cleanup();
die("Cleanup done");
}
$dumps_path = 'dumps/';
if(file_exists($dumps_path))
{
array_map( 'unlink', array_filter((array) glob($dumps_path.'*') ) );
}
else
{
mkdir('dumps');
}
//read php file with credentials and parse it
fopen("credentials.php", "r") or die("Unable to open file!");
include 'credentials.php';
//should priovide the following variables:
// $db_host = 'host';
// $db_user = 'user';
// $db_pass = 'pw';
if ($db_host == NULL || $db_user == NULL || $db_pass == NULL) {
die("Please provide credentials in credentials.php");
}
$db_conn = new mysqli($db_host, $db_user, $db_pass);
$result = mysqli_query($db_conn,"SHOW DATABASES");
while ($row = mysqli_fetch_array($result)) {
if($row[0] == 'information_schema' || $row[0] == 'performance_schema')
{
continue;
}
$database = $row[0];
$dir = dirname(__FILE__) . '/'.$dumps_path.$database.'.sql';
exec("mysqldump --user={$db_user} --password={$db_pass} --host={$db_host} {$database} --result-file={$dir} 2>&1", $output);
if(!empty($output))
{
var_dump($output);
}
}
## Zip all dumps
Cleanup($zipfile);
$zip = new ZipArchive;
if($zip -> open($zipfile, ZipArchive::CREATE ) === TRUE)
{
$dir = opendir($dumps_path);
while($file = readdir($dir)) {
if(is_file($dumps_path.$file)) {
$zip -> addFile($dumps_path.$file, $file);
}
}
$zip ->close();
}
//eine funktion die auf den url parameter cleanup_dump=1 reagiert und dann alle dumps löscht
function Cleanup()
{
global $zipfile;
if(file_exists($zipfile))
{
unlink($zipfile);
}
}
+4
View File
@@ -0,0 +1,4 @@
bfds soll sich regelmässig eine copy des wikis und aller scripte auf boogedev.net (uberspace) holen
Um keine hindernden Passwort-Eingaben zu haben, wird ein dezediertes keyfile ohne PW verwendet.
@@ -0,0 +1,50 @@
@ECHO OFF
CHCP 65001 >NUL
REM **************************************************
REM Dieser command sichert die Inhalt von bfds in windows
REM auf der OFFSITE platte (Veracrypt Partition) mittels
REM SMB Freigaben von bfds und xcopy.
REM **************************************************
SETLOCAL
SET SOURCE=\\bfds
SET DESTINATION="B:\\"
echo Festplatte NASOFFSITE1 wird gesucht
IF NOT EXIST %DESTINATION% (
echo Festplatte NASOFFSITE1 nicht gefunden, bitte in Veracrypt einbinden!
exit /B
)
CALL :RunRobocopy "ebooks"
CALL :RunRobocopy "movies"
CALL :RunRobocopy "music"
CALL :RunRobocopy "peggy"
CALL :RunRobocopy "rob"
exit /B %ERRORLEVEL%
REM **************************************************
REM Funktion zum Ausführen von robocopy
:RunRobocopy
SET COPYPATH=%~1
IF NOT EXIST %SOURCE%\%COPYPATH% (
echo Quelle nicht gefunden! Bitte öffne die SMB Freigbe: %SOURCE%\%COPYPATH%
exit /B %ERRORLEVEL%
)
SET SCRIPT_PATH=%~dp0
SET TODAY=%DATE:~6,4%%DATE:~3,2%%DATE:~0,2%
SET LOGFILE="%SCRIPT_PATH%robocopy_log_%COPYPATH%_%TODAY%.txt"
echo LOGFILE: %LOGFILE%
robocopy %SOURCE%\%COPYPATH% %DESTINATION%\%COPYPATH% /E /mt /z /J /COPY:DAT /R:3 /W:5 /LOG+:%LOGFILE% /TEE
REM Erklärung der Parameter:
REM /E: Kopiert Unterverzeichnisse inklusive leerer Verzeichnisse
REM /mt: Multithreaded copying
REM /z: Kopiert Dateien im Restart-Modus (d.h. kopiert Dateien, die bereits existieren)
REM /COPY:DAT: Kopiert Dateiattribute, Zeitstempel und Sicherheitsinformationen
REM /R:3: Anzahl der Wiederholungsversuche bei Fehlern
REM /W:5: Wartezeit zwischen den Wiederholungsversuchen
REM /J: Kopiert mit unbuffered I/O (empfohlen für große Dateien)
REM /LOG+: Protokolliert den Kopiervorgang in eine Datei
REM /TEE: Protokolliert den Kopiervorgang auch in der Konsole
GOTO :EOF
REM **************************************************
+5
View File
@@ -1,2 +1,7 @@
backup_all_databases_cMxNrCTVLBPrNo6qaonojeejCvCepekwssh
nextcloud/config/config.php
nextcloud/data/root/files/Extern
nextcloud/updater
nextcloud/backup
/nextcloud-data/updater-*/
files_trashbin/
+3
View File
@@ -0,0 +1,3 @@
This folder hast to be on the SBZ server
The credentials.php has to be filled but never commited to the git
+1 -1
View File
@@ -57,7 +57,7 @@ ssh -p $PORT -i $KEY $USER_AT_HOST "sudo umount $SBZ_MOUNT_PATH"
cd $DEST_PATH_DB
# kick off DB dumping
curl --insecure https://rob.spaceboyz.net/backup_all_databases_cMxNrCTVLBPrNo6qaonojeejCvCepekwssh/dump_all_databases.php
curl --insecure --silent https://rob.spaceboyz.net/backup_all_databases_cMxNrCTVLBPrNo6qaonojeejCvCepekwssh/dump_all_databases.php
# download DB dumps
curl --insecure --silent https://rob.spaceboyz.net/backup_all_databases_cMxNrCTVLBPrNo6qaonojeejCvCepekwssh/dumps.zip > dumps.zip
if [ -f dumps.zip ]