PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Nono : Backup avec Borg via ssh(fs) sur Synology

dimanche 1 avril 2018 à 18:12

Tant qu'à faire un peu de ménage sur notre dédié, je me suis décidé à changer de mode de backup en passant à Borg.

Le postulat

Les prérequis

Dans mon cas, j'utilise un script sur mon synology qui récupère son IP public et qui l'envoie dans un fichier "ip_syn" sur le serveur m0le periodiquement

Les tâches

  1. Créer un utilisateur "backup" sur le synology avec SSH + SFTP + SSH key
  2. Configurer sshfs avec une clé SSH sur le client
  3. Installer, initialiser et tester le repo Borg
  4. Automatiser le tout avec un script

Création de l'utilisateur backup

Tout se passe depuis l'interface web, il faut s'assurer que l'utilisateur a le droit dans un dossier, disons /Backup (monté dans /volume1/Backup/)

Pour que la connexion par clé ssh fonctionne, il faut :

  1. Que l'utilisateur fasse partie du groupe administrators pour avoir accès au login SSH
  2. Activer le "User Home" Service dans Users > Advanced. Cela permet d'avoir un "vrai" répertoire pour l'utilisateur et pouvoir stocker les clés SSH de l'utilisateur (dans /var/services/homes//.ssh/authorized_keys
  3. Avoir les bons paramètres de sécurités/accès dans le dossier .ssh et autoriser la connexion par clé

On peut s'en sortir en exécutant ces commandes :

chmod 755 /var/services/homes/
chmod 700 /var/services/homes//.ssh
chmod 600 /var/services/homes//.ssh/*
chown -R :users /var/services/homes//.ssh

Il faut également s'assurer que ces deux lignes soit décommenté dans /etc/ssh/sshd_config:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

Installation de la clé ssh + sshfs + borg

Pour installer les dépendances sous Debian:

m0le# apt install sshfs

On passe à la génération de la clé ssh + l'envoi sur le synology

m0le# ssh-keygen -t rsa -b 4096 // Je genère une clé sans passphrase (pour automatiser le montage avec sshfs)

m0le# ssh-copy-id @ -p  // j'envoie la clé vers le synology

m0le# ssh @ -p  // Je vérifie que j'arrive bien à me connecter au server, sans demander de mot de passe.

On teste l'existence d'un dossier "Backup" accessible sur le synology

backup@synology$ cd Backup // j'utilise mon utilisateur dédié "backup"
backup@synology Backup$ touch test // Je crée un fichier

On crée enfin le répertoire local pour monter le répertoire Backup avec sshfs

m0le# mkdir -p /mnt/syno // Je créer le repertoire pour le montage via SSHFS

m0le# sshfs @/Backup/ /mnt/syno -p  // je monte le dossier Backup de mon synology sur le server m0le

m0le# ls -l /mnt/syno // Si le fichier "test" s'affiche, c'est tout bon !

m0le# rm /mnt/syno/test // J'en ai plus besoin

Installation et initialisation de BorgBackup

On va dabord créer un repo qui va héberger nos "archives".

(les archives stockeront nos fichiers, le repo est l'endroit ou seront inventorier ces archives)

m0le# apt install borgbackup // installation de borgbackup

m0le# borg init --encryption=repokey /mnt/syno/ // création du repo en prenant soin de créer un mot de passe !

m0le# borg create /mnt/syno/::test /etc/ // Je créer une sauvegarde du dossier "/etc" dans un archive nommé "test" dans mon repo "/mnt/syno/"

Faire des tests et les supprimer

m0le# borg create --stats /mnt/syno/::test2 /etc/ // Je crée une deuxième archive "test2" du dossier /etc/ : Ca devrait être bcp plus rapide car "test" existe déjà.

m0le# borg list /mnt/syno/::test2 // Si je liste le contenu du dossier "/etc", c'est tout bon !

m0le# borg delete /mnt/syno/::test // Je supprimer mes tests

m0le# borg delete /mnt/syno/::test2 // Je supprimer mes tests

Script d'automatisation

Si tout va bien jusqu'ici, c'est qu'on a de quoi créer des archives Borg (manuellement pour l'instant), sur un repertoire de notre synology via sshfs.

Plutôt pas mal, on va donc automatiser ça ! Voilà ce que le script (cf source) fait :

  1. Il monte le répertoire sshfs
  2. Il crée un backup avec le nom de la machine + date courante
  3. Il effectue le nettoyage des archives si besoin (rétention)
  4. Il démonte le répertoire de backup

Évidemment, il faudra faire vos modifs comme celles que j'ai apportées par rapport à la source (cf les paramètres au debut)

#!/bin/bash

# Mount parameters
mount="/mnt/syno/"

# Borg parameters
repo="/mnt/syno/m0le"
pass="legrosmotdepasse!!"
backup_dir="/etc /root /usr/local/bin"

# Synology parameters
syno_user="backup"
syno_ip=`cat /home/ip_syn`
syno_port="22"
syno_dir="/Backup/"

# Setting this, so the repo does not need to be given on the commandline:
export BORG_REPO={repo}

# Setting this, so you won't be asked for your repository passphrase:
export BORG_PASSPHRASE=${pass}
# or this to ask an external program to supply the passphrase:
export BORG_PASSCOMMAND='pass show backup'

# some helpers and error handling:
info() { printf "\\n%s %s\\n\\n" "$( date )" "$*" >&2; }
trap 'echo $( date ) Backup interrupted >&2; exit 2' INT TERM

info "Mount ${mount} from ssh://${syno_user}@${syno_ip}:${syno_port}/${syno_dir}"

sshfs ${syno_user}@${syno_ip}:${syno_dir} ${mount} -p ${syno_port}

info "Starting backup: ${backup_dir}"

# Backup the most important directories into an archive named after
# the machine this script is currently running on:

borg create \\
--verbose \\
--filter AME \\
--list \\
--stats \\
--show-rc \\
--compression lz4 \\
--exclude-caches \\
--exclude '/home/*/.cache/*' \\
--exclude '/var/cache/*' \\
--exclude '/var/tmp/*' \\
\\
::'{hostname}-{now}' \\
$backup_dir \\

backup_exit=$?

info "Pruning repository"

# Use the `prune` subcommand to maintain 7 daily, 4 weekly and 6 monthly
# archives of THIS machine. The '{hostname}-' prefix is very important to
# limit prune's operation to this machine's archives and not apply to
# other machines' archives also:

borg prune \\
--list \\
--prefix '{hostname}-' \\
--show-rc \\
--keep-daily 7 \\
--keep-weekly 4 \\
--keep-monthly 6 \\

prune_exit=$?

# use highest exit code as global exit code
global_exit=$(( backup_exit > prune_exit ? backup_exit : prune_exit ))

info "Unmounting ${mount}"

umount ${mount}

if [ ${global_exit} -eq 1 ];
then
info "Backup and/or Prune finished with a warning"
fi

if [ ${global_exit} -gt 1 ];
then
info "Backup and/or Prune finished with an error"
fi
exit ${global_exit}

Il ne reste plus qu'à exécuter le script, vérifier l'archive et son contenu et enfin rajouter un petit cron qui va bien 😉

Source

sshfs/ssh key sur Synology
Borg backup commands + script

Gravatar de Nono
Original post of Nono.Votez pour ce billet sur Planet Libre.

debian-facile.org : Petit retour sur l'aventure aux JDLL 2018

dimanche 1 avril 2018 à 16:36

Cela fait maintenant une semaine depuis la fin des JDLL à Lyon, l?occasion de revenir sur ce week-end. Pour ses 20 ans, cet évènement a été une réussite avec un programme chargé et de très belles rencontres. C'est toujours un moment important pour découvrir de nouvelles choses et apprendre autour du libre sans oublier de passer d'excellents moments. Pour ceux qui ne connaissent pas, c'est un week-end avec des conférences, ateliers, install party, village associatif et nous ne pouvons que vous conseiller de venir pour la prochaine édition (ainsi que tous les autres évènements du libre Agenda du libre). 

Debian-Facile a encore décidé de participer à cet évènement pour discuter du libre, de Debian et de sa communauté. Cette année encore, nous avons tenu un stand avec quelques membres accompagnés de notre Tux et ses chocos DF. Évidemment, nous avons encore rencontré des membres et des visiteurs qui nous connaissait (ou pour piquer des chocolats). Malgré tout, pour ceux qui ne nous connaissaient pas encore, c'était l'occasion de leur expliquer ce qu'on fait et de les inviter à venir sur le site. Cela reste avant tout  l'occasion de se rencontrer et de discuter entre passionnés. C'est aussi toujours sympa de mettre un visage sur un pseudo et de prendre le temps d'échanger. On avait également des stickers pour mettre sur votre PC (mais ils sont vite partis).

Pour la première fois, on a animé une conférence pour parler des communautés d'entraide et plus particulièrement de Debian-Facile. Nous avions besoin de savoir quels sont les besoins des utilisateurs et inciter chacun d'eux à contribuer. Expliquer le fonctionnement de cette communauté est essentiel pour que tous puissent y prendre part et la faire vivre.
Les contributions ne se limitent heureusement pas qu'à des aspects techniques et tout le monde peut jouer un rôle important. Malheureusement, 1 heure n'était pas suffisante pour aborder tous les sujets qui étaient prévus. On a dû faire l'impasse sur des choses extrêmement importante : la vie de l'association et la participation de Debian-Facile à divers évènements. Sur l'association, il y a beaucoup de choses à faire et on en reparlera, très bientôt on aura besoin de vous. 

De nombreuses personnes nous ont sollicité pendant ce week-end pour intervenir dans divers évènements. Nous sommes ouverts à toutes propositions dans la limite de nos possibilités.
On essaiera de faire le maximum mais ce sera difficile de s'engager à faire un week-end au Mans et le suivant à Perpignan. C'est pour ça, si vous êtes dans le coin, qu'on a besoin de vous.
N'hésitez pas à faire signe. On vous donnera alors un coup de main  de notre côté (matériel et humain). Vous pouvez également nous signaler un évènement où Debian-Facile peut participer. 
C'est encore passé trop vite. On n'a jamais le temps de tout voir. C'est pour ça qu'on repart encore, au plus tard, on se retrouve pour les RMLL de Strasbourg. 



Librement,
L'équipe Debian-Facile 

file-Ra66bee4f92ad5fc2eb9c4bbfe5f0ea5e.png
file-R73f27f962c93b1daf4441ba7d92bebfd

Gravatar de debian-facile.org
Original post of debian-facile.org.Votez pour ce billet sur Planet Libre.

Framablog : Framadsense, la publicité qui a du sens

dimanche 1 avril 2018 à 08:08

C’est avec le plus grand sérieux que nous lançons aujourd’hui notre alternative à la régie publicitaire Google AdSense : Framadsense !

Aujourd’hui on trolle la pub !

On ne va pas noyer le poisson : aujourd’hui est le jour rêvé pour lancer notre outil de bannières publicitaires. C’est dimanche, nos salarié·e·s se reposent, nos bénévoles ont une vie personnelle, vous allez donc pouvoir enflammer les z’internets en toute autonomie.

Vous croyez que c’est une blague… ? Vous ne vous doutez pas à quel point nous sommes sérieuxses, dès qu’il s’agit de déconner.

Nous avons déjà parlé ici du fléau qu’est la publicité « digitale » (comme disent les « dir’comm' » et les « dir’mark' »). C’est le profilage publicitaire qui est aux origines des Léviathans qui centralisent le web. Il suffit de voir le talk « Nous créons une dystopie simplement pour obliger les gens à cliquer sur des publicités » pour comprendre combien c’est grave, et combien il faut Dégoogliser Internet. Nous relayons aussi des alternatives plus vertueuses, comme celle de la rédaction de NexINpact.

La pub en ligne est partout, c’est une catastrophe numérique et écologique… On comprend pourquoi certaines personnes s’échangent de formidables astuces pour résister à l’agression publicitaire. L’ironie, c’est que la plupart des alternatives et connaissances qui nous permettent de faire respecter nos intimités numériques sont peu connues… et qu’elles manquent de pub !

Notre sérieux va vous surprendre

C’est parti d’une idée de JosephK. Oui, JosephK, un salarié de Framasoft qui déjà, pour la blague, avait codé le Bingo du Troll (à utiliser sans modération dès qu’un troll vous emmouscaille). Celui qui, récemment, a bidouillé un joli lifting pour le Framablog (vous avez remarqué comme il est plus aéré, plus lisible ?). JosephK, un des plus farouches opposants à la pub parmi nous, qui vient nous proposer :

Et si on montrait les mécanismes de la pub en ligne tout en faisant de la réclame pour les alternatives éthiques ?

Il y a des informations que nos navigateurs web diffusent en permanence : de quel site on vient (c’est le rôle du « référent »), ainsi que les versions de notre système d’exploitation et notre navigateur web (ce que transmet le « user agent »). Rien qu’avec ces infos-là, donc sans pister quiconque, on peut générer des bannières qui expliquent aux personnes utilisant des outils fermés comment mieux se libérer… « Tu viens de Facebook ? Essaie Framasphère ! » ou « Tu utilises Chrome ? Firefox est plus rapide et plus éthique ! »

Framadsense, parce que ça nous fait rire

Si on crée ce micro-outil pour nous, autant le mettre à disposition de tou·te·s, non ? Ainsi est né Framadsense, disponible à l’adresse https://sense.framasoft.org. Si vous voulez l’utiliser pour votre site web, il vous suffit :

Sense3, le logiciel développé par JosephK, est un logiciel libre (forcément !) qui respecte notre vie privée, et dont les bannières affichent uniquement des projets libres et non lucratifs… voire des œuvres d’art, juste pour le plaisir de remplacer la pollution visuelle par de la culture ! Vous pouvez d’ailleurs proposer de nouvelles bannières en collaborant au code sur son dépôt (nous, on a juste fait les exemples les plus courants… venez pas nous gronder si votre projet libre favori n’y est pas encore !).

Voilà : même quand il s’agit de déconner, on en profite pour hacker les codes de la pub. Plus qu’un poisson, Framadsense est un vrai logiciel qui permet au moins qu’on se pose la question :

comment attirer l’attention de nos proches sur le fait que nos attentions sont sur-sollicitées ?

Vous avez le reste du (long) week-end pour y répondre (ou pour manger du chocolat).

 

L’équipe de Framasoft.

Gravatar de Framablog
Original post of Framablog.Votez pour ce billet sur Planet Libre.

Miamondo : Linux : « A start job is running… »

dimanche 1 avril 2018 à 06:15

Introduction Quel adorateur du Grand GNU-à-tête-de-Linux n'a jamais été confronté à cette antienne au démarrage de son ordinateur? "A start job is running..." Cet avertissement sybillin s'accompagne d'une obscure suite de chiffres et de lettres ainsi que d'un décompte qui dure en général un peu plus d'une minute trente. Cause Cela est du à une... Lire la suite →

Gravatar de Miamondo
Original post of Miamondo.Votez pour ce billet sur Planet Libre.

mozillaZine-fr : Il y a 20 ans, Netscape libérait son code source

samedi 31 mars 2018 à 18:26

Nous savons maintenant tout ce que cela a apporté à la fois sur le plan technique et humain, mais à l’époque c’était un incroyable saut dans l’inconnu. C’est le moment de voir ou revoir le fameux film Project Code Rush pour se replonger dans l’ambiance de l’époque où Firefox n’existait encore qu’en rêve.

Gravatar de mozillaZine-fr
Original post of mozillaZine-fr.Votez pour ce billet sur Planet Libre.