Backup
programme - timing de la journée
10h30
*comparer différentes méthodes de backup : sauvegarde complète (full backup), backup différentiel, sauvegarde incrémentale ou incrémentielle
documents vivants (qui bougent encore) vs documents morts (finalisés)
on a intérêt de faire un 'full back-up' de sa machine (tout ce qui est dynamique ~ image de ta machine)
- vrais fichiers statiques /home /etc
- sources.lst !
- fichiers temporaire /tmp
- le cache
- la swap
-> faire fichier .txt avec choses qu'on back-up souvent et les personnalisations de programmes importantes si on devait réinstaller
-> régularité: back-up des fichiers statiques: tous les mois
- sauver de façon différentielle: sauvegarder seulement ce qui a changé par rapport au full back-up + mettre back-up dans autre lieu
--> on peut effacer les différentiels
- sauver de façon incrementale: sauvegarder seulement les changements par rapport au jour avant (vs full back-up), prend moins de place mais plus de temps/calculs
http://www.knowledgetransfer.net/dictionary/Storage/en/cumulative_incremental_backup.htm
*commandline - gui
gui = back-up ninja qui s'occupe de rsync
*citer quelques outils :
*tar, dd, dump, cpio et rsync etc.
- tar: juste back-up des fichiers statiques (machine locale)
man tar
tar = archiving utility
-c: créer l'archive
-z: compress
-p: preserve permissions!!!
-> archive manager (gui) choisit ces options automatiquement
*exercice avec tar et rsync
TAR
1. ana@anagram:~/Documents$ du adashboard/ -sh
20M adashboard/
[du = disk use / -sh= summary en language humain]
2. tar c (create) f fichier) z (comprimé)
ana@anagram:~/Documents$ tar cfz adash_backup adashboard/
ana@anagram:~/Documents$ du adash_backup -sh
18M adash_backup
3. si on est sur un serveur: il faut garder les permissions
tar cfjp archive_nom Dossier/
ou tar cfzp nomArchive.tar.gz DossierOuFichierAArchiver
4. voir liste de ce qu'il y a dans le fichier archive
archive_nom
file *: donne liste des types de fichiers
-> pour .doc: il donne tous les détails!!!
-> pas pour .odt: odt est un dossier comprimé déjà de fichier .xml (voir extract .odt)
5. vérifier s'il a gardé les permissions
-> décomprimer l'archive:
mkdir nouveaunom
mv nom_archive nouveaunom/
tar xf nom_archive
cd nom_archive
ls -l
13 à 14h lunch
Discussion sur la semaine de programmation
- accord sur apprendre python ou C++
- accord sur vouloir contribuer une petite module à un projet existant vers la fin de la semaine, proposition de contribuer à toonloop http://toonloop.com/
- proposition de l'organiser à la Maison Gallait, fin septembre
- An & Femke vérifient le budget de Constant, les possibilités de demande de subsides + possibilités/envies de Stéphanie pour préparer et mener les sessions
14h
*Automatisation avec cron : introduction à cron, sa logique et syntaxe de fichier de configuration
*cron à la manière debian
15h
*ssh-keygen
*exercices pratiques - rsync, rdiff-backup & backupninja
*backup sur nos machines, dans un dossier backup, ou un disque externe monté dans nos file systems
*backup de repertoires importants de Amaya : d'un disque dur sur l'autre
*backup de nos machines vers Amaya : voir si possible avec Lenny
*sinon backup sur Ocelot, la machine de Juliane
*cron : setup d'un backup automatique
Backup en distance sur le post client :
sudo apt-get install rsync rdiff-backup backupninja
*rsync : synchronisation distante (remote synchronization) sauvegardes incrémentales, synchronisation est unidirectionnelle. A fast, versatile, remote (and local) file-copying tool.
*rdiff-backup : local/remote mirror and incremental backup
*Backupninja provides a centralized way to configure and schedule many different backup utilities
clé privée / publique
se connecter au serveur par ssh sans mot de passe
créer sa clé 'root' : ssh-keygen (attention à ne pas mettre de mot de passe à la clé sans quoi ce mdp sera demandé lors de la connexion ssh et le backup ne se fera pas)
endroit par default
*~/.ssh/id_rsa pour la clé privée
*~/.ssh/id_rsa.pub pour la clé publique
voir les clefs:
$sudo cat /root/.ssh/id_rsa (clé privée)
$sudo cat /root/.ssh/id_rsa.pub 'clé publique)
voir les fichiers:
$ls -lh .ssh
total 12K
-rw------- 1 ana ana 1.7K 2011-06-04 15:24 id_rsa
-rw-r--r-- 1 ana ana 393 2011-06-04 15:24 id_rsa.pub
-rw-r--r-- 1 ana ana 884 2011-03-02 15:25 known_hosts
sur le serveur il faut :
* ssh-server
*rsync (doit tourner en démon)
*rdiff-backup
*placer ma clé publique : copier le contenu de ~/.ssh/id_rsa.pub (chez moi) dans le fichier ~/.ssh/authorized_keys (sur le serveur)
$ scp ~/.ssh/id_rsa.pub ana@samedies.be:/home/ana
sur amaya:
$ mkdir .ssh
/home/ana: $ mv id_rsa.pub ./ssh/authorized_keys
--> maintenant tu n'as plus besoin de logger sur amaya avec un mot de passe!! :-)
--> si on est en root et on se connecte sans mot de passe à amaya:
génerer une clef en tant que root
localmachine:$ sudo scp /root/.ssh/id_rsa.pub ana@samedies.be:/home/ana
name@amaya:$ cd /home/name
name@amaya:$ ls (fichier devrait être là)
name@amaya:$ sudo su
root@amaya:$ cd .ssh
root@amaya:~/.ssh$ cat /home/ana/id_rsa.pub >> /root/.ssh/authorized_keys
Backup en local
avec BackupNinja sur un deuxième disque dur dans la même machine, ou sur un disque externe.
*créer son fichiers backup manuellement car backupninja va essayer par défaut de se connecter via ssh
*le mettre dans /etc/backup.d
*exemple de fichier : 90.rdiff
options = --force
when = everyday at 12
[source]
type = local
keep = 60D
# files to include in the backup
include = /home/agnez/test
## (where the files are copied to)
[dest]
type = local
directory = /home/agnez/BACKUPtest/
#host = localhost
#user = root
sudo chmod 0600 /etc/backup.d/90.rdiff
sudo ninjahelper
dans ninja on peux ensuite sélectionner le backup prédéfini par notre fichier
*d'autres exemples dans le wiki de kenny : Exemples de fichiers backup
*Help : backupninja reference de fichier de config pour sauvegarde locale ou remote avec rsync https://labsrdiff ignore_versionrdiff ignore_versionrdiff ignore_version.rdiff ignore_versionriseup.net/code/projects/backupninja/wiki/Rsync sur le site de riseup
*autre logiciels
*bacula Bacula is a powerful Linux backup solution, and it’s one of the few Linux open source backup solutions that’s truly enterprise ready. But with this enterprise readiness comes a level of complexity you might not find in any other solution. Bacula is not the easiest backup solution to configure and use. It is, however, one of the most powerful.
*Mondorescue disaster recovery solution. One of its strengths is backing up an entire installation. Another strength of Mondorescue is that it can back up to nearly any medium: CD, DVD, tape, NFS, hard disk, etc. And Mondo supports LVM 1/2, RAID, ext2, ext3, ext4, JFS, XFS, ReiserFS, and VFAT
*Simple Backup primarily targeted at desktop backup. Because Simple Backup Solution uses compressed archives, it is not the best solution for backing up large amounts of pre-compressed data (such as multimedia files).
*help
*dans le wiki de kenny : Backups: Rsync & Rdiff-backup
*https://labs.riseup.net/code/projects/backupninja/wiki/Rsync
*commandes pour lancer le backup (en root)
*rdiff-backup --force --print-statistics /home/agnez/test/ root@172.19.0.250::/volume1/backups/agnez/
*rdiff-backup --force --print-statistics --include '/home/agnez/test/' --exclude '/*' / root@172.19.0.250::/volume1/backups/agnez/test
les alias de juliane pour s'amuser
- alias direct pour usage temporaire: alias coucou="cat /etc/profile"
- pour tous les shells interactifs permanent -> rajouter dans /etc/bash.bashrc
- pour ton shell permanent -> rajouter dans /etc/profile
- si tu veux personnalisé -> home/.profile
juliane@dragonfly:/home$ alias
alias c='clear'
alias ll='ls -l'
alias ls='ls --color=auto'
alias pi4='ping 4.2.2.2'
alias pigo='ping google.be'
alias tubosses='ps aux | grep'
alias tuchauffes='cat /proc/acpi/thermal_zone/THRM/temperature'
juliane@dragonfly:/home$ tuchauffes
temperature: 53 C
juliane@dragonfly:/home$ tubosses apache
root 1381 0.0 0.8 23272 7972 ? Ss 10:53 0:00 /usr/sbin/apache2 -k start
www-data 2561 0.0 0.4 23272 3920 ? S 11:31 0:00 /usr/sbin/apache2 -k start
www-data 2562 0.0 0.4 23272 3920 ? S 11:31 0:00 /usr/sbin/apache2 -k start
www-data 2563 0.0 0.4 23272 3920 ? S 11:31 0:00 /usr/sbin/apache2 -k start
www-data 2564 0.0 0.4 23272 3920 ? S 11:31 0:00 /usr/sbin/apache2 -k start
www-data 2565 0.0 0.4 23272 3920 ? S 11:31 0:00 /usr/sbin/apache2 -k start
juliane 18780 0.0 0.0 3304 748 pts/1 S+ 12:04 0:00 grep apache