Change from remote backup to local backup and make config easier
This commit is contained in:
parent
8af6ef361f
commit
71b4a12010
|
@ -0,0 +1 @@
|
|||
backup.env
|
|
@ -0,0 +1,16 @@
|
|||
BACKUP_LOCATION="CHANGEME"
|
||||
SCRIPT_LOCATION="CHANGEME"
|
||||
GITEA_EXE="CHANGEME"
|
||||
MF_DBHOST="CHANGEME"
|
||||
MF_DBPORT=5432
|
||||
MF_DBNAME="CHANGEME"
|
||||
MF_DBUSER="CHANGEME"
|
||||
MF_DBPASSWD="CHANGEME"
|
||||
NC_DBHOST="CHANGEME"
|
||||
NC_DBPORT=5432
|
||||
NC_DBNAME="CHANGEME"
|
||||
NC_DBUSER="CHANGEME"
|
||||
NC_DBPASSWD="CHANGEME"
|
||||
NC_DIR="CHANGEME"
|
||||
PB_DIR="CHANGEME"
|
||||
LOG="CHANGEME"
|
|
@ -0,0 +1,28 @@
|
|||
#! /bin/bash
|
||||
|
||||
DATE=$(date +%m-%d-%Y)
|
||||
|
||||
if [ -f dyndns.env ]
|
||||
then
|
||||
export $(cat backup.env | sed 's/#.*//g' | xargs)
|
||||
else
|
||||
echo "Error, backup.env doesn't exist"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$DATE" ] || [ -z "$SCRIPT_LOCATION" ] || [ -z "$GITEA_EXE" ] || [ -z "$MF_DBHOST" ] || [ -z "$MF_DBPORT" ] || \
|
||||
[ -z "$BACKUP_LOCATION" ] || [ -z "$MF_DBNAME" ] || [ -z "$MF_DBUSER" ] || [ -z "$MF_DBPASSWD" ] || [ -z "$NC_DBHOST" ] || \
|
||||
[ -z "$NC_DIR" ] || [ -z "$NC_DBPORT" ] || [ -z "$NC_DBNAME" ] || [ -z "$NC_DBUSER" ] || [ -z "$NC_DBPASSWD" ] || \
|
||||
[ -z "$LOG" ] || [ -z "$PB_DIR" ]
|
||||
then
|
||||
echo "Error, please check your configuration in backup.env"
|
||||
exit 2
|
||||
fi
|
||||
|
||||
echo "" >> $LOG
|
||||
echo "===== $DATE =====" >> $LOG
|
||||
|
||||
source $SCRIPT_LOCATION/gitea.sh >> $LOG
|
||||
source $SCRIPT_LOCATION/miniflux.sh >> $LOG
|
||||
source $SCRIPT_LOCATION/nextcloud.sh >> $LOG
|
||||
source $SCRIPT_LOCATION/privatebin.sh >> $LOG
|
16
gitea.sh
16
gitea.sh
|
@ -1,20 +1,10 @@
|
|||
#! /bin/sh
|
||||
|
||||
DATE=`date +%m-%d-%Y`
|
||||
SSH_HOST="CHANGEME"
|
||||
|
||||
echo "Sauvegarde de Gitea le "$DATE
|
||||
echo ""
|
||||
echo "Sauvegarde de Gitea"
|
||||
|
||||
#Exécution du backup de Gitea
|
||||
echo "Exécution du backup de Gitea"
|
||||
ssh $SSH_HOST sudo -u git /DATA/gitea/gitea-latest dump -f /tmp/gitea-$DATE.zip
|
||||
|
||||
#Copie du fichier de backup distant en local
|
||||
echo "Copie du fichier de backup distant en local"
|
||||
rsync -z $SSH_HOST:/tmp/gitea-$DATE.zip $HOME
|
||||
|
||||
#Supprission du fichier de backup distant
|
||||
echo "Suppression du fichier de backup distant"
|
||||
ssh $SSH_HOST rm /tmp/gitea-$DATE.zip
|
||||
sudo -u git $GITEA_EXE dump -f $BACKUP_LOCATION/gitea-$DATE.zip
|
||||
|
||||
echo "Backup effectué !"
|
||||
|
|
20
miniflux.sh
20
miniflux.sh
|
@ -1,25 +1,15 @@
|
|||
#! /bin/sh
|
||||
|
||||
#===============#
|
||||
# Configuration #
|
||||
#===============#
|
||||
DATE=`date +%m-%d-%Y`
|
||||
DBHOST="CHANGEME"
|
||||
DBPORT=5432
|
||||
DBNAME="CHANGEME"
|
||||
DBUSER="CHANGEME"
|
||||
DBPASSWD="CHANGEME"
|
||||
SSH_HOST="CHANGEME"
|
||||
|
||||
echo "Sauvegarde de miniflux le "$DATE
|
||||
echo ""
|
||||
echo "Sauvegarde de miniflux"
|
||||
|
||||
# Backup the database
|
||||
echo "Dump de la base de données"
|
||||
ssh $SSH_HOST PGPASSWORD=$DBPASSWD pg_dump -h $DBHOST -d $DBNAME -p $DBPORT -U $DBUSER > $HOME/miniflux-$DATE
|
||||
PGPASSWORD=$MF_DBPASSWD pg_dump -h $MF_DBHOST -d $MF_DBNAME -p $MF_DBPORT -U $MF_DBUSER > $BACKUP_LOCATION/miniflux-$DATE
|
||||
|
||||
# Compress backup
|
||||
echo "Compression de la sauvegarde"
|
||||
gzip $HOME/miniflux-$DATE
|
||||
echo "Fichier enregistré dans dans "$HOME"/miniflux-"$DATE".gz"
|
||||
gzip -f $BACKUP_LOCATION/miniflux-$DATE
|
||||
echo "Fichier enregistré dans dans $BACKUP_LOCATION/miniflux-$DATE.gz"
|
||||
|
||||
echo "Sauvegarde terminée !"
|
||||
|
|
44
nextcloud.sh
44
nextcloud.sh
|
@ -1,45 +1,31 @@
|
|||
#! /bin/sh
|
||||
|
||||
#===============#
|
||||
# Configuration #
|
||||
#===============#
|
||||
DATE=`date +%m-%d-%Y`
|
||||
TMPDIR=`mktemp -d`
|
||||
DBHOST="CHANGEME"
|
||||
DBPORT=5432
|
||||
DBNAME="CHANGEME"
|
||||
DBUSER="CHANGEME"
|
||||
DBPASSWD="CHANGEME"
|
||||
SERVICEDIR="CHANGEME"
|
||||
SSH_HOST="CHANGEME"
|
||||
TMP_DIR=$(mktemp -d)
|
||||
|
||||
echo "Sauvegarde de nextcloud le "$DATE
|
||||
echo ""
|
||||
echo "Sauvegarde de nextcloud"
|
||||
|
||||
# Stop the service
|
||||
echo "Mise en maintenance du service Nextcloud"
|
||||
ssh $SSH_HOST sudo -u www-data php $SERVICEDIR/occ maintenance:mode --on
|
||||
sudo -u www-data php $NC_DIR/occ maintenance:mode --on
|
||||
|
||||
# Backup the database
|
||||
echo "Dump de la base de données"
|
||||
ssh $SSH_HOST PGPASSWORD=$DBPASSWD pg_dump -h $DBHOST -d $DBNAME -p $DBPORT -U $DBUSER > $TMPDIR/db.pgsql
|
||||
PGPASSWORD=$NC_DBPASSWD pg_dump -h $NC_DBHOST -d $NC_DBNAME -p $NC_DBPORT -U $NC_DBUSER > $TMP_DIR/db.pgsql
|
||||
|
||||
# Backup config data and theme folder
|
||||
echo "Synchronisation des données"
|
||||
rsync -axz --delete $SSH_HOST:$SERVICEDIR/data $TMPDIR
|
||||
|
||||
echo "Synchronisation des thèmes"
|
||||
rsync -axz --delete $SSH_HOST:$SERVICEDIR/themes $TMPDIR
|
||||
|
||||
echo "Synchronisation de la configuration"
|
||||
rsync -axz --delete $SSH_HOST:$SERVICEDIR/config $TMPDIR
|
||||
# Create archive file
|
||||
echo "Mise en archive des données"
|
||||
tar -C $NC_DIR -cf $BACKUP_LOCATION/nextcloud-$DATE.tar data themes config
|
||||
echo "Mise en archive du dump de la base de données"
|
||||
tar -rf $BACKUP_LOCATION/nextcloud-$DATE.tar -C $TMP_DIR db.pgsql
|
||||
echo "Compression de la sauvegarde"
|
||||
gzip -f $BACKUP_LOCATION/nextcloud-$DATE.tar
|
||||
echo "Fichier enregistré dans dans $BACKUP_LOCATION/nextcloud-$DATE.tar.gz"
|
||||
|
||||
# Restart the service
|
||||
echo "Remise en fonctionnement du service Nextcloud"
|
||||
ssh $SSH_HOST sudo -u www-data php $SERVICEDIR/occ maintenance:mode --off
|
||||
sudo -u www-data php $NC_DIR/occ maintenance:mode --off
|
||||
|
||||
# Create archive file
|
||||
echo "Compression de la sauvegarde"
|
||||
tar -C $TMPDIR -czf ~/nextcloud-$DATE.tar.gz data themes config db.pgsql
|
||||
echo "Fichier enregistré dans dans "$HOME"/nextcloud-"$DATE".tar.gz"
|
||||
rm -rf $TMP_DIR
|
||||
|
||||
echo "Sauvegarde terminée !"
|
||||
|
|
|
@ -1,26 +1,11 @@
|
|||
#! /bin/sh
|
||||
|
||||
#===============#
|
||||
# Configuration #
|
||||
#===============#
|
||||
DATE=`date +%m-%d-%Y`
|
||||
TMPDIR=`mktemp -d`
|
||||
SERVICEDIR="CHANGEME"
|
||||
SSH_HOST="CHANGEME"
|
||||
BACKUP_LOCATION="CHANGEME"
|
||||
|
||||
echo "Sauvegarde de privatebin le "$DATE
|
||||
|
||||
# Backup config and data folder
|
||||
echo "Synchronisation des données"
|
||||
rsync -axz --delete $SSH_HOST:$SERVICEDIR/data $TMPDIR
|
||||
|
||||
echo "Synchronisation de la configuration"
|
||||
rsync -axz --delete $SSH_HOST:$SERVICEDIR/cfg $TMPDIR
|
||||
echo ""
|
||||
echo "Sauvegarde de privatebin"
|
||||
|
||||
# Create archive file
|
||||
echo "Compression de la sauvegarde"
|
||||
tar -C $TMPDIR -czf $BACKUP_LOCATION/nextcloud-$DATE.tar.gz cfg data
|
||||
tar -C $PB_DIR -czf $BACKUP_LOCATION/privatebin-$DATE.tar.gz cfg data
|
||||
echo "Fichier enregistré dans dans "$BACKUP_LOCATION"/privatebin-"$DATE".tar.gz"
|
||||
|
||||
echo "Sauvegarde terminée !"
|
||||
|
|
Reference in New Issue