Bonjour,

Dans le domaine de l’infonuaqique, je n’ai jamais réussi à trouver mon bonheur. J’ai essayé Nextcloud, Pcloud et d’autres encore, mais aucun ne m’a convaincu. Je veux un outil simple. Je n’ai pas besoin de tout un tas de fonctionnalités aussi inutiles les unes que les autres. Mon cahier des charges tient en deux lignes :

Mettre en œuvre un processus de sauvegarde automatique de type versioning, me permettant d’accéder à mes fichiers personnels, quel que soit l’endroit où je me trouve.

Encore faut-il bien sûr que cet endroit soit connecté au réseau! Il me semble avoir trouvé une solution à la fois simple et efficace. J’ai créé trois dépôts git privés qui sont Documents, Images et Musique. Ensuite, j’ai rédigé un script bash nommé git_update.sh et qui ne présente aucune difficulté puisqu’il s’agit des commandes Git à lancer pour pouvoir pousser les modifications dans le dépôt. Il peut s’agir d’ajouts ou de suppressions. Voici à quoi il ressemble :

#!/bin/bash

# Nom du script : git_update.sh 

# Mise à jour du dépôt git "Documents"
cd /home/$USER/Documents
git add .
git commit -a -m "Mise à jour du `date`"
git push -u origin master

# Mise à jour du dépôt git "Images"
cd /home/$USER/Images
git add .
git commit -a -m "Mise à jour du `date`"
git push -u origin master

# Mise à jour du dépôt git "Musique"
cd /home/$USER/Musique
git add .
git commit -a -m "Mise à jour du `date`"
git push -u origin master

Automatisation du processus

Maintenant, il faut automatiser la mise à jour pour que celle-ci se lance tous les matins à 09:00, sans intervention humaine. J’ai choisi 09:00 car en règle générale, à cette heure-ci, je suis planté devant mon écran. Pour ce faire, nous allons utiliser crontab. Il s’agit d’une application bien connue des Linuxiens. Sa finalité est de lancer des processus à un intervalle de temps qui peut-être toutes les minutes, toutes les heures, tous les jours etc…

Personnellement, j’ai choisi de modifier non pas le fichier crontab de l’utilisateur mais le fichier crontab du système. De toute façon, je suis le seul utilisateur! À présent, passons en root et ouvrons le fichier /etc/crontab avec l’éditeur en ligne de commande nano.

$ su
$ Mot de passe:
# nano /etc/crontab

Voici à quoi ressemble la structure d’un fichier crontab :

# minute  hour  dayofmonth  month  dayofweek  user  command 
 * * * * * $USER commande bash ou script     
Exemple

Je suis l’utilisateur miamondo. Je veux lancer tous les jours à 09:00, le script git_update.sh et récupérer la sortie standard dans un fichier nommé git_report.txt. Voici la ligne que je vais rentrer:

00 9 * * * miamondo /home/miamondo/git_update.sh > /home/miamondo/git_report.txt
Important !

Pensez à rajouter ces lignes à la fin de chaque fichier .git/config :

[user]
    name = "Prénom Nom"
    email = "vous@email.com"

Conclusion

C’est ainsi que je procède pour avoir mon propre infonuage toujours à jour et accessible partout où une connexion au réseau est disponible.