Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
Tetras-back
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
NoCloud
Tetras-back
Commits
ea75f3e8
Unverified
Commit
ea75f3e8
authored
8 years ago
by
David Beniamine
Browse files
Options
Downloads
Plain Diff
Merge branch 'master' of gitlab.tetras-libre.fr:tetras-libre/Tetras-back into github
parents
a93bf72e
26892c8e
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
Readme.md
+8
-5
8 additions, 5 deletions
Readme.md
src/scripts/backup_nocloud.sh
+39
-8
39 additions, 8 deletions
src/scripts/backup_nocloud.sh
with
47 additions
and
13 deletions
Readme.md
+
8
−
5
View file @
ea75f3e8
...
@@ -6,6 +6,9 @@ gitlab de Tetras Libre](https://gitlab.tetras-libre.fr/tetras-libre/Tetras-back)
...
@@ -6,6 +6,9 @@ gitlab de Tetras Libre](https://gitlab.tetras-libre.fr/tetras-libre/Tetras-back)
Tetras-back est un logiciel libe, conçu pour sauvegarder des serveurs d'auto
Tetras-back est un logiciel libe, conçu pour sauvegarder des serveurs d'auto
hebergements sur des disques dur externes.
hebergements sur des disques dur externes.
Une
[
documentation complète
](
http://documentation.demo-tic.org/service_oel:systeme_de_sauvegardes
)
est trouvable sur le wiki de nos partenaires.
## Prérequis
## Prérequis
Tetras-Back a été testé sur debian Jessie et Testing, pour l'utiliser, vous
Tetras-Back a été testé sur debian Jessie et Testing, pour l'utiliser, vous
...
@@ -64,7 +67,7 @@ L'administrateur est notifié des sauvegardes et des echecs par email.
...
@@ -64,7 +67,7 @@ L'administrateur est notifié des sauvegardes et des echecs par email.
## Interface Web
## Interface Web
L'interface web n'est pas encore implémentée
Voir
[
la documentation complète
](
http://documentation.demo-tic.org/service_oel:systeme_de_sauvegardes
)
## Scripts de sauvegarde fournis
## Scripts de sauvegarde fournis
...
@@ -138,16 +141,16 @@ La device etant quelque chose du genre `/dev/sdb1`
...
@@ -138,16 +141,16 @@ La device etant quelque chose du genre `/dev/sdb1`
### Todo
### Todo
+
[
] Web interface
+
[
x
] Web interface
+
[X] Link to actions
+
[X] Link to actions
+
[X] Actions
+
[X] Actions
+
[X] Reverse + scroll for log
+
[X] Reverse + scroll for log
+
[x] htaccess / htpassword
+
[x] htaccess / htpassword
+
[
] vhost apache2
+
[
x
] vhost apache2
+
[X] CSS
+
[X] CSS
+
[
] encodage
+
[
x
] encodage
+
[ ] Bouton telecharger
+
[ ] Bouton telecharger
+
[
] Verify reboot systemd
+
[
x
] Verify reboot systemd
+
[x] Sendmail after backup or on fail
+
[x] Sendmail after backup or on fail
+
[x] Daemon
+
[x] Daemon
+
[x] Udev rules
+
[x] Udev rules
...
...
This diff is collapsed.
Click to expand it.
src/scripts/backup_nocloud.sh
+
39
−
8
View file @
ea75f3e8
...
@@ -66,9 +66,27 @@ sauvegarde_serveur(){
...
@@ -66,9 +66,27 @@ sauvegarde_serveur(){
# the backup should be in /var/opt/gitlab/backups thus in srv_directories
# the backup should be in /var/opt/gitlab/backups thus in srv_directories
do_log
"Creation de la sauvegarde gitlab"
do_log
"Creation de la sauvegarde gitlab"
/usr/bin/gitlab-rake
$voptminus
gitlab:backup:create
/usr/bin/gitlab-rake
$voptminus
gitlab:backup:create
backup_path
=
`
grep
"'backup_path'"
/etc/gitlab/gitlab.rb |
sed
's/^.*= "\(.*\)"$/\1/'
`
if
[
-d
"
$backup_path
"
]
then
/bin/ls
-dt
$backup_path
/
*
|
tail
-n
+11 | xargs
rm
-rf
else
do_log
"Dossier de sauvegarde gitlab non trouvé, pensez à supprimer manuellement les anciennes sauvegardes"
fi
fi
fi
do_log
"Creation de l'archive configuration serveur"
do_log
"Creation de l'archive configuration serveur"
[
!
-z
"
$SERVICES
"
]
&&
systemctl stop
$SERVICES
tar
czf
$vopt
$dest
/serveur.tgz
$srv_directories
tar
czf
$vopt
$dest
/serveur.tgz
$srv_directories
ret
=
$?
[
!
-z
"
$SERVICES
"
]
&&
systemctl start
$SERVICES
if
[
$ret
-eq
1
]
then
# only warn on tar return code 1
do_log
"Attention: des fichiers on été modifié durant la sauvegarde de l'archive serveur"
return
0
else
return
$ret
fi
}
}
sauvegarde_donnees
(){
sauvegarde_donnees
(){
...
@@ -89,7 +107,7 @@ sauvegarde_seafile(){
...
@@ -89,7 +107,7 @@ sauvegarde_seafile(){
usage
(){
usage
(){
echo
"Utilisation
$0
[options] device"
echo
"Utilisation
$0
[options] device"
echo
"Device doit etre un disque non mont
e
"
echo
"Device doit etre un disque non mont
é
"
echo
"Options"
echo
"Options"
echo
" -h | --help Affiche cette aide et quitte"
echo
" -h | --help Affiche cette aide et quitte"
echo
" -v | --verbose Active le mode verbeux"
echo
" -v | --verbose Active le mode verbeux"
...
@@ -98,9 +116,14 @@ usage(){
...
@@ -98,9 +116,14 @@ usage(){
echo
" -m | --mysql Sauvegarde mysql (implique --config)"
echo
" -m | --mysql Sauvegarde mysql (implique --config)"
echo
" -c | --config Sauvegarde le serveur (
$srv_directories
)"
echo
" -c | --config Sauvegarde le serveur (
$srv_directories
)"
echo
" -g | --gitlab Sauvegarde gitlab (implique --config)"
echo
" -g | --gitlab Sauvegarde gitlab (implique --config)"
echo
" -u | --unifi Sauvegarde unifi (/var/lib/unifi, implique --config)"
echo
" -u | --unifi Sauvegarde unifi (/var/lib/unifi, implique
--config)"
echo
" -s | --seafile host Sauvegarde seafile host (seafile fuse)"
echo
" -s | --seafile host Sauvegarde seafile host (seafile fuse)"
echo
" -e | --encfs pass Use encfs protected directories with given password"
echo
" -e | --encfs pass Utilise des dossiers chiffrés encfs,
protégés par le mot de passe donné"
echo
" -i | --interrupt list Interrompt les services donnés (liste
séparé par des virgules) durant la création
de l'archive tar."
}
}
dest
=
/mnt/backup
dest
=
/mnt/backup
...
@@ -119,7 +142,7 @@ for arg in "$@"; do
...
@@ -119,7 +142,7 @@ for arg in "$@"; do
shift
shift
set
--
"
$@
"
`
echo
$arg
|
sed
's/^-\(-.\).*$/\1/'
`
set
--
"
$@
"
`
echo
$arg
|
sed
's/^-\(-.\).*$/\1/'
`
done
done
optspec
=
":hvdcgus:mpe:"
optspec
=
":hvdcgus:mpe:
i:
"
while
getopts
"
$optspec
"
optchar
;
do
while
getopts
"
$optspec
"
optchar
;
do
case
"
${
optchar
}
"
in
case
"
${
optchar
}
"
in
h
)
h
)
...
@@ -160,6 +183,9 @@ while getopts "$optspec" optchar; do
...
@@ -160,6 +183,9 @@ while getopts "$optspec" optchar; do
encfs
=
true
encfs
=
true
ENCPASS
=
"
$OPTARG
"
ENCPASS
=
"
$OPTARG
"
;;
;;
i
)
SERVICES
=
"
${
OPTARG
//,/
}
"
;;
*
)
*
)
echo
"Option inconnue -
$optchar
"
echo
"Option inconnue -
$optchar
"
usage
usage
...
@@ -212,10 +238,15 @@ do
...
@@ -212,10 +238,15 @@ do
ret
=
$?
ret
=
$?
while
[
$ret
-ne
0
]
while
[
$ret
-ne
0
]
do
do
if
[
`
df
--output
=
avail
.
|
sed
1d
`
-lt
$((
1024
*
1024
))
]
then
supprimer_anciennes_sauvegardes
supprimer_anciennes_sauvegardes
test_and_fail
$?
"Plus d'espace sur le disque et pas d'ancienne sauvegarde a supprimer"
test_and_fail
$?
"Plus d'espace sur le disque et pas d'ancienne sauvegarde a supprimer"
$action
$action
ret
=
$?
ret
=
$?
else
test_and_fail 1
"l'action '
$action
' a planté innopinement"
fi
done
done
nom
=
${
action
/_/
}
nom
=
${
action
/_/
}
do_log
"
$nom
reussie"
do_log
"
$nom
reussie"
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment