Archive for shell

Deux tips rsync pour la route!

Si vous ne connaissez pas rsync, je vous conseille le man et les différents tutoriels existant sur le sujet. Ici, je vais faire deux petites utilisations de rsync vous permettant d’aller un peu plus loin (sans aller au bout du monde).

1) Vous avez besoin de synchroniser un répertoire source en reproduisant l’arborescence source ou une partie de cette arborescence, alors l’option -R est faite pour vous. Exemple:
Vous souhaitez backuper /home/anchorage mais pas l’ensemble de /home/ sur /nas/backup en gardant l’arborescence source /home/anchorage…:

rsync -aR /./home/anchorage/ /nas/backup

Vous obtiendrez une sauvegarde /nas/backup/home/anchorage
Utilisation du -R (relative path) avec le “.” pour définir la racine à partir d’où on garde le chemin. Très utile et devenue pour moi indispensable!

2) L’option -b (backup) est aussi une petite merveille. Elle vous permet de backuper sur la destination les fichiers qui sont modifiés avant de les synchroniser et par conséquent de garder plusieurs versions antérieures. Reprenons l’exemple ci-dessus. Nous voulons maintenant garder l’historique de nos modifications

rsync -aRb --backup-dir=/nas/backup/inc/`date +%y-%m-%d` /./home/anchorage /nas/backup/main/

Traduction?
Nous sauvegardons maintenant /home/anchorage dans /nas/backup/main/home/anchorage et à chaque modification d’un fichier dans /nas/backup/main/home/anchorage, nous créons un répertoire /nas/backup/inc/2012-08-29/ avec les fichiers qui vont être modifiés dans le répertoire de sauvegarde principal. Il suffit alors de mettre en cron cette commande et nous gardons l’historique quotidien de tous les fichiers.
Attention, cette option ne fonctionne qu’en local!

En espérant que cela puisse vous être utile.

Posted in admin, shell | Leave a comment

Un petit conseil openvpn pour la route

Bonjour,

Presque un an que je n’ai pas écrit ici. Je ne m’en satisfais pas car cette année encore, la communauté open-source m’a enrichi d’idées, de nouveautés, de méthodes et de nouveaux softs toujours plus performants. Alors, stephbul parle à stephbul:

“Et toi, stephbul, qu’as-tu fait pour la communauté?” Pas grand chose répond stephbul, pas grand chose.

Ce petit conseil est une goutte d’eau dans la marée heureuse de l’open-source, mais il est bien utile.

Vous avez des services qui ont besoin d’écouter sur votre interface tun0 créée par openvpn, mais ce service est lancé avant openvpn. Que va-t-il se passer? Ou le service écoutera sur les autres interfaces ou le service ne démarrera pas. Et si le service openvpn est soudainement arrêté, que se passera-t-il?  Que faire?

Plusieurs méthodes vont sourdre des esprits. Une seule méritera qu’on la retienne!

A jeter dans /dev/null:

-Le cron qui reloadera le service… Je suis sûr que certains y ont pensé! Voire, certains plus malins que les autres ne reloaderont le service que si tun0 est up, ce qu’ils auront testés par un [ ! -z “`ifconfig | grep tun0`” ]… brrrr, j’en ai des frissons.

-Changer l’ordre des initscripts avec update-rc.d… Très mauvais, car ce n’est pas l’ordre de démarrage qui compte. Il faut juste que les services soient lancés alors que tun0 est up. Si les initscripts sont rapprochés, votre service aura été appelé après openvpn, mais tun0 ne sera pas encore up pour autant.

Non, la seule solution à garder est celle offerte par openvpn lui même:

-L’option –up cmd . Celle-ci permet d’exécuter une commande, un script au moment où l’interface devient up . Je recommande donc de mettre dans le fichier /etc/default/openvpn:


OPTARGS="--script-security 2 --up monscript.sh"

Le script-security 2 permet d’exécuter un code tiers, nécessaire pour exécuter monscript.sh, en charge de recharger les services.

Je vous laisse deviner ce que peut signifier l’option –down .

Posted in admin, openvpn, shell | 2 Comments

Swedish Greys - a WordPress theme from Nordic Themepark.