Skip to content
Snippets Groups Projects
Commit b2a178ce authored by David Beniamine's avatar David Beniamine
Browse files

Resolve "Add a rsync based backup script"

parent 0bbb626e
No related branches found
No related tags found
No related merge requests found
......@@ -54,7 +54,7 @@ do_log(){
echo "Sauvegarde NoCloud - $@"
}
sauvegarde_serveur(){
dump_databases(){
if $mysql
then
do_log "Sauvegarde mysql"
......@@ -82,6 +82,11 @@ sauvegarde_serveur(){
do_log "Dossier de sauvegarde gitlab non trouvé, pensez à supprimer manuellement les anciennes sauvegardes"
fi
fi
}
sauvegarde_serveur(){
dump_databases
do_log "Creation de l'archive configuration serveur"
[ ! -z "$SERVICES" ] && systemctl stop $SERVICES
tar czf$vopt $dest/serveur.tgz $srv_directories
......@@ -106,6 +111,19 @@ sauvegarde_donnees(){
fi
}
sauvegarde_clone(){
dump_databases
cmd="rsync -aAX /"
EXCLUDE='/dev,/proc,/var/run,/var/cache,/var/backups,/var/lock,/sys,/tmp,/run,/mnt,/media,/lost+found"'
for filtre in $(echo "$EXCLUDE,$EXCLUDEFROMCLONE" | sed 's/,/ /g')
do
cmd="$cmd --exclude=$filtre"
done
cmd="$cmd $dest"
do_log "Running : '$cmd'"
$cmd
}
sauvegarde_seafile(){
# On sauvegarde le contenu des bibliothèques
echo "Sauvegarde - Contenu Seafile"
......@@ -153,6 +171,8 @@ usage(){
echo " -p | --postgresql Sauvegarde postgresql (implique --config)"
echo " -m | --mysql Sauvegarde mysql (implique --config)"
echo " -c | --config Sauvegarde le serveur ($srv_directories)"
echo " -C | --Clone exclude Effectue un clone rsync, exclude est une liste
de dossier a exclure separe par des ','"
echo " -g | --gitlab Sauvegarde gitlab (implique --config)"
echo " -u | --unifi Sauvegarde unifi (/var/lib/unifi, implique
--config)"
......@@ -180,6 +200,7 @@ mysql=false
postgres=false
encfs=false
archive=false
clone=false
MIN_SIZE=$((1024*1024))
warn_only=false
post_cmd=""
......@@ -189,7 +210,7 @@ for arg in "$@"; do
shift
set -- "$@" `echo $arg | sed 's/^-\(-.\).*$/\1/'`
done
optspec=":hvdcguws:mpe:i:aP:"
optspec=":hvC:dcguws:mpe:i:aP:"
while getopts "$optspec" optchar; do
case "${optchar}" in
h)
......@@ -242,6 +263,11 @@ while getopts "$optspec" optchar; do
P)
post_cmd="$OPTARG"
;;
C)
clone=true
EXCLUDEFROMCLONE="$OPTARG"
ACTIONS="\nsauvegarde_clone"
;;
*)
echo "Option inconnue -$optchar"
usage
......@@ -286,7 +312,10 @@ then
fi
parent_dir=$dest
if ! $clone
then
dest="$parent_dir/$date$postfix"
fi
mkdir "$dest"
[ ! -d "$dest" ] && liberer_espace mkdir "$dest"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment