add first draft boogie backup scripts

This commit is contained in:
Robert Wartenberg committed 2023-10-04 08:03:44 +02:00
1 parent db2b9fbb38
commit 17494e3afb
6 files changed
+117

No files matched your search

+37
View File
@@ -0,0 +1,37 @@
#!/bin/sh
# this one makes a copy of the whole /var/www/html from boogiedev
todo!
SCRIPTPATH=$(dirname `realpath $0`)
cd $SCRIPTPATH
# rsync source -> destination
SOURCE_PATH=/var/www/virtual/boogie/html
DEST_PATH_FILES=/mnt/bfds/rob/backup/server/boggiedev.net/var_www
# # ssh credentials
PORT="22"
KEY="${SCRIPTPATH}/boogie_keyless"
USER_AT_HOST="boogie@spaceboyz.net"
# path of the database backups
DEST_PATH_DB=/mnt/bfds/rob/backup/server/spaceboyz.net/mariadb
# EXCLUDE="--exclude-from exclude-list"
# ### Get all databases
# cd $DEST_PATH_DB
# # kick off DB dumping
# 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 ]
# then
# today=`date +%F`
# mv dumps.zip all_databases_dump_$today.zip
# else
# echo "Datenbank Dump konnte nicht herunter geladen werden"
# fi
+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
+3
View File
@@ -0,0 +1,3 @@
This folder hast to be on the Boogie server
The credentials.php has to be filled but never commited to the git
@@ -0,0 +1,65 @@
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$dumps_path = 'dumps/';
if(file_exists($dumps_path))
{
array_map( 'unlink', array_filter((array) glob($dumps_path.'*') ) );
}
else
{
mkdir('dumps');
}
read credential file
$credential_file = fopen("credentials.php", "r") or die("Unable to open file!");
//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, $user, $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={$user} --password={$pass} --host={$host} {$database} --result-file={$dir} 2>&1", $output);
if(!empty($output))
{
var_dump($output);
}
}
## Zip all dumps
$zipfile = "dumps.zip";
if(file_exists($zipfile))
{
unlink($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();
}
+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.