Backup

Backup

Cet article fait référence à ce sujet :  Création d’un média center 100% autonome.

Rappel : Le téléchargement de média sous copyright est illégal. Cet article est à but lucratif et pour test !

Maintenant que notre serveur est opérationnel, nous allons sauvegarder la configuration de l’ensemble des services.

Création du profile FTP vers le NAS avec Rclone.

Installation de Rclone

sudo apt  install rclone -y

 

Configuration de Rclone

sudo rclone config

Current remotes:

Name                 Type
====                 ====
SeedBox              sftp

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> n

« n » puis Entrée.

 

name> NAS

Entrer un nom.

 

Type of storage to configure.
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / A stackable unification remote, which can appear to merge the contents of several remotes
   \ "union"
 2 / Alias for a existing remote
   \ "alias"
 3 / Amazon Drive
   \ "amazon cloud drive"
 4 / Amazon S3 Compliant Storage Providers (AWS, Ceph, Dreamhost, IBM COS, Minio)
   \ "s3"
 5 / Backblaze B2
   \ "b2"
 6 / Box
   \ "box"
 7 / Cache a remote
   \ "cache"
 8 / Dropbox
   \ "dropbox"
 9 / Encrypt/Decrypt a remote
   \ "crypt"
10 / FTP Connection
   \ "ftp"
11 / Google Cloud Storage (this is not Google Drive)
   \ "google cloud storage"
12 / Google Drive
   \ "drive"
13 / Hubic
   \ "hubic"
14 / JottaCloud
   \ "jottacloud"
15 / Local Disk
   \ "local"
16 / Microsoft Azure Blob Storage
   \ "azureblob"
17 / Microsoft OneDrive
   \ "onedrive"
18 / OpenDrive
   \ "opendrive"
19 / Openstack Swift (Rackspace Cloud Files, Memset Memstore, OVH)
   \ "swift"
20 / Pcloud
   \ "pcloud"
21 / SSH/SFTP Connection
   \ "sftp"
22 / Webdav
   \ "webdav"
23 / Yandex Disk
   \ "yandex"
24 / http Connection
   \ "http"
Storage> 10

Taper 10.

 

** See help for ftp backend at: https://rclone.org/ftp/ **

FTP host to connect to
Enter a string value. Press Enter for the default ("").
Choose a number from below, or type in your own value
 1 / Connect to ftp.example.com
   \ "ftp.example.com"
host> 192.168.XX.XX

Entrer l’IP de votre NAS.

 

FTP username, leave blank for current username, scotch
Enter a string value. Press Enter for the default ("").
user> XXXXX

Taper le nom d’utilisateur de votre NAS.

 

FTP port, leave blank to use default (21)
Enter a string value. Press Enter for the default ("").
port>21

Entrer 21.(ou un autre port si le port FTP est différent)

 

FTP password
y) Yes type in my own password
g) Generate random password
y/g> y

« y » pour enregistrer le mot de passe.

 

Enter the password:
password:
Confirm the password:
password:

Taper le mot de passe de votre NAS.

 

Remote config
--------------------
[NAS]
host = 192.168.XX.XX
user = XXXXXXX
pass = *** ENCRYPTED ***
--------------------
y) Yes this is OK
e) Edit this remote
d) Delete this remote
y/e/d> y

« y » pour enregistrer.

 

Current remotes:

Name                 Type
====                 ====
SeedBox             sftp
NAS                  ftp

e) Edit existing remote
n) New remote
d) Delete remote
r) Rename remote
c) Copy remote
s) Set configuration password
q) Quit config
e/n/d/r/c/s/q> q

« q » pour enregistrer.

 

Pour vérifier votre config taper la ligne suivante pour afficher les fichiers.

sudo rclone ls NAS:

 

Télécharger le script suivant.

Installation Stadard
wget https://raw.githubusercontent.com/laboiteajb/Backup_Config_to_NAS/master/Backup.sh

 

Editer le fichier Backup.sh

nano Backup.sh
#!/bin/bash
clear
echo ############
# Username
User='scotch'
echo Votre User:$User
echo ############
# Rétention des fichiers
Sauv='1M' # 1 Mois - ms|s|m|h|d|w|M|y
echo Rétention de vos fichiers:$Sauv
echo ############
# Chemin des applications
PathRadarr=/home/$User/.config/Radarr/Backups/scheduled/*
PathSonarr=/home/$User/.config/NzbDrone/Backups/scheduled/*
PathJackett=/home/$User/.config/Jackett/*
PathRclone=/home/$User/.config/rclone/rclone.conf
PathSyncthing=/home/$User/.config/syncthing/*
##
# Suppression du dossier de Backup
rm /tmp/Backup/ -R 2>&1

# Création du dossier Backup
mkdir /tmp/Backup

###################################
###################################
echo ############
echo Backup Radarr
# Backup Radarr
mkdir /tmp/Backup/Radarr

# Copie des Backups
cp $PathRadarr /tmp/Backup/Radarr -r

# Compression du dossier
tar czvf /tmp/Backup/Radarr_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Radarr 2>&1 | grep "something"

# Suppression du dossier de Backup Radarr
rm /tmp/Backup/Radarr -r

###################################
###################################
echo ############
echo Backup Sonarr
# Backup Sonarr
mkdir /tmp/Backup/Sonarr

# Copie des Backups
cp $PathSonarr /tmp/Backup/Sonarr -r

# Compression du dossier
tar czvf /tmp/Backup/Sonarr_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Sonarr 2>&1 | grep "something"

# Suppression du dossier de Backup Sonarr
rm /tmp/Backup/Sonarr -r

###################################
###################################
echo ############
echo Backup Jackett
# Backup Jackett
mkdir /tmp/Backup/Jackett

# Arret du service Jackett
systemctl stop jackett.service

# Copie des Fichiers
cp $PathJackett /tmp/Backup/Jackett -r

# Démarrage du service Jackett
systemctl start jackett.service

# Compression du dossier
tar czvf /tmp/Backup/Jackett_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Jackett 2>&1 | grep "something"

# Suppression du dossier de Backup Jackett
rm /tmp/Backup/Jackett -r

###################################
###################################
echo ############
echo Backup Rclone
# Backup Rclone
mkdir /tmp/Backup/Rclone

# Copie de la configuration de Rclone
cp $PathRclone /tmp/Backup/Rclone -r

# Compression du dossier
tar czvf /tmp/Backup/Rclone_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Rclone 2>&1 | grep "something"

# Suppression du dossier de Backup Rclone
rm /tmp/Backup/Rclone -r

###################################
###################################
echo ############
echo Backup Syncthing
# Backup Syncthing
mkdir /tmp/Backup/Syncthing

# Arret du service Syncthing
systemctl stop syncthing@$User.service

# Copie des Fichiers
cp $PathSyncthing /tmp/Backup/Syncthing -r

# Démarrage du service Syncthing
systemctl start syncthing@$User.service

# Compression du dossier
tar czvf /tmp/Backup/Syncthing_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Syncthing 2>&1 | grep "something"

# Suppression du dossier de Backup Syncthing
rm /tmp/Backup/Syncthing -r

###################################
###################################
echo ############
echo Attribution des fichiers à $User
# Attribution des fichiers à votre utilisateur
chown $User:$User /tmp/Backup/*.tar.gz

echo Trasfert des fichiers
# Trasfert des fichiers
rclone copy /tmp/Backup/Radarr* NAS:/Backup/Apps/Radarr
rclone copy /tmp/Backup/Sonarr* NAS:/Backup/Apps/Sonarr
rclone copy /tmp/Backup/Jackett* NAS:/Backup/Apps/Jackett
rclone copy /tmp/Backup/Rclone* NAS:/Backup/Apps/Rclone
rclone copy /tmp/Backup/Syncthing* NAS:/Backup/Apps/Syncthing

echo Suppression des sauvegardes
# Suppression des sauvegardes
rclone delete --min-age 1M NAS:/Backup/Apps/Radarr
rclone delete --min-age 1M NAS:/Backup/Apps/Sonarr
rclone delete --min-age 1M NAS:/Backup/Apps/Jackett
rclone delete --min-age 1M NAS:/Backup/Apps/Rclone
rclone delete --min-age 1M NAS:/Backup/Apps/Syncthing

# Suppression du dossier Backup
rm /tmp/Backup -R

echo Fin du script
echo ##################################################################
Installation via Docker
wget https://raw.githubusercontent.com/laboiteajb/Backup_Config_Docker_to_NAS/master/Backup.sh

 

Editer le fichier Backup.sh

nano Backup.sh
#!/bin/bash
clear
echo ############
# Username
User='scotch'
echo Votre User:$User
echo ############
# Rétention des fichiers
Sauv='1M' # 1 Mois - ms|s|m|h|d|w|M|y
echo Rétention de vos fichiers:$Sauv
echo ############
# Chemin des applications
PathRadarr=/home/$User/Media/Apps/radarr/config/Backups/scheduled/*
PathSonarr=/home/$User/Media/Apps/sonarr/config/Backups/scheduled/*
PathJackett=/home/$User/Media/Apps/jackett/Jackett/*
PathRclone=/home/$User/.config/rclone/rclone.conf
PathSyncthing=/home/$User/Media/Apps/syncthing/config/*
##
# Suppression du dossier de Backup
rm /tmp/Backup/ -R 2>&1

# Création du dossier Backup
mkdir /tmp/Backup

###################################
###################################
echo ############
echo Backup Radarr
# Backup Radarr
mkdir /tmp/Backup/Radarr

# Copie des Backups
cp $PathRadarr /tmp/Backup/Radarr -r

# Compression du dossier
tar czvf /tmp/Backup/Radarr_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Radarr 2>&1 | grep "something"

# Suppression du dossier de Backup Radarr
rm /tmp/Backup/Radarr -r

###################################
###################################
echo ############
echo Backup Sonarr
# Backup Sonarr
mkdir /tmp/Backup/Sonarr

# Copie des Backups
cp $PathSonarr /tmp/Backup/Sonarr -r

# Compression du dossier
tar czvf /tmp/Backup/Sonarr_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Sonarr 2>&1 | grep "something"

# Suppression du dossier de Backup Sonarr
rm /tmp/Backup/Sonarr -r

###################################
###################################
echo ############
echo Backup Jackett
# Backup Jackett
mkdir /tmp/Backup/Jackett

# Arret du container Jackett
docker stop jackett

# Copie des Fichiers
cp $PathJackett /tmp/Backup/Jackett -r

# Démarrage du container Jackett
docker start jackett

# Compression du dossier
tar czvf /tmp/Backup/Jackett_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Jackett 2>&1 | grep "something"

# Suppression du dossier de Backup Jackett
rm /tmp/Backup/Jackett -r

###################################
###################################
echo ############
echo Backup Rclone
# Backup Rclone
mkdir /tmp/Backup/Rclone

# Copie de la configuration de Rclone
cp $PathRclone /tmp/Backup/Rclone -r

# Compression du dossier
tar czvf /tmp/Backup/Rclone_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Rclone 2>&1 | grep "something"

# Suppression du dossier de Backup Rclone
rm /tmp/Backup/Rclone -r

###################################
###################################
echo ############
echo Backup Syncthing
# Backup Syncthing
mkdir /tmp/Backup/Syncthing

# Arret du container Syncthing
docker stop syncthing

# Copie des Fichiers
cp $PathSyncthing /tmp/Backup/Syncthing -r

# Démarrage du container Syncthing
docker start syncthing

# Compression du dossier
tar czvf /tmp/Backup/Syncthing_`date +%Y-%m-%d_%H-%M`.tar.gz /tmp/Backup/Syncthing 2>&1 | grep "something"

# Suppression du dossier de Backup Syncthing
rm /tmp/Backup/Syncthing -r

###################################
###################################
echo ############
echo Attribution des fichiers à $User
# Attribution des fichiers à votre utilisateur
chown $User:$User /tmp/Backup/*.tar.gz

echo Trasfert des fichiers
# Trasfert des fichiers
runuser -l $User -c 'rclone copy /tmp/Backup/Radarr* NAS:/Backup/Apps/Radarr' 
runuser -l $User -c 'rclone copy /tmp/Backup/Sonarr* NAS:/Backup/Apps/Sonarr'
runuser -l $User -c 'rclone copy /tmp/Backup/Jackett* NAS:/Backup/Apps/Jackett'
runuser -l $User -c 'rclone copy /tmp/Backup/Rclone* NAS:/Backup/Apps/Rclone'
runuser -l $User -c 'rclone copy /tmp/Backup/Syncthing* NAS:/Backup/Apps/Syncthing'

echo Suppression des sauvegardes
# Suppression des sauvegardes
runuser -l $User -c 'rclone delete --min-age 1M NAS:/Backup/Apps/Radarr'
runuser -l $User -c 'rclone delete --min-age 1M NAS:/Backup/Apps/Sonarr'
runuser -l $User -c 'rclone delete --min-age 1M NAS:/Backup/Apps/Jackett'
runuser -l $User -c 'rclone delete --min-age 1M NAS:/Backup/Apps/Rclone'
runuser -l $User -c 'rclone delete --min-age 1M NAS:/Backup/Apps/Syncthing'

# Suppression du dossier Backup
rm /tmp/Backup -R

echo Fin du script
echo ##################################################################
Remplacer mon nom d’utilisateur par le vôtre ou connectez-vous, mon nom sera remplacé automatiquement par le votre.

Modifier les lignes suivantes :

  • Ligne 5 : Changer votre nom d’utilisateur.
  • Ligne 9 : Changer la rétention.
  • Lignes 126 -130 et 134 -138 : Changer le chemin de votre NAS.

Ctrl + X pour quitter nano.

« Y » pour enregistrer les modifications.

Entrée pour confirmer.

 

Modifier les droits du fichier pour autoriser l’exécution.

chmod +x Backup.sh

 

Connectez-vous en root.

sudo -i

 

Editer crontab. (avec nano)

crontab -e

 

Ajouter la ligne suivante.

0 0 * * * /home/scotch/Backup.sh
Remplacer mon nom d’utilisateur par le vôtre ou connectez-vous, mon nom sera remplacé automatiquement par le votre.

Ctrl + X pour quitter nano.

« Y » pour enregistrer les modifications.

Entrée pour confirmer.


-> Revenir au menu

-> Aller plus loin dans l’automatisation


 

Laisser un commentaire