Une des façons les plus simples de sauvegarder un système utilise un script shell. Par exemple, un script peut être utilisé pour configurer les répertoires à sauvegarder et transmettre ces répertoires comme arguments à l’utilitaire tar, ce qui crée un fichier d’archive. Le fichier d’archive peut ensuite être déplacé ou copié dans un autre emplacement. L’archive peut également être créée sur un système de fichiers distant tel qu’un montage NFS.
L’utilitaire tar crée un fichier d’archive de plusieurs fichiers ou répertoires. tar peut également filtrer les fichiers par le biais des utilitaires de compression, réduisant ainsi la taille du fichier d’archive.
Script shell simple
Le script shell suivant se sert de tar pour créer une archive sur un montage NFS. Le nom de l’archive est défini en se servant de divers utilitaires en ligne de commande.
#!/bin/bash
####################################
#
# Backup to NFS mount script.
#
####################################
# What to backup.
backup_files="/home /var/spool/mail /etc /root /boot /opt"
# Where to backup to.
dest="/mnt/backup"
# Create archive filename.
day=$(date +%A)
hostname=$(hostname -s)
archive_file="$hostname-$day.tgz"
# Print start status message.
echo "Backing up $backup_files to $dest/$archive_file"
date
echo
# Backup the files using tar.
tar czf $dest/$archive_file $backup_files
# Print end status message.
echo
echo "Backup finished"
date
# Long listing of files in $dest to check file sizes.
ls -lh $dest
$backup_files : variable listant les répertoires que vous souhaitez sauvegarder. La liste doit être adaptée à vos besoins.
$day : une variable contenant le jour de la semaine (lundi, mardi, mercredi, etc.) Cette fonction est utilisée pour créer un fichier d’archive pour chaque jour de la semaine, ce qui donne un historique de sauvegarde de sept jours. Il y a d’autres façons d’accomplir cela, par exemple en utilisant l’utilitaire date.
$hostname : variable contenant le nom d’hôte de votre système en format court. Vous pourrez ainsi placer les archives quotidiennes de plusieurs hôtes dans un même répertoire.
$archive_file : le nom complet de l’archive.
$dest : destination du fichier d’archive. Le répertoire doit être créé et, dans ce cas monté avant d’exécuter le script de sauvegarde. Voir Network File System (NFS) pour des détails sur l’utilisation de NFS.
status messages : messages optionnels affichés dans la console lors de l’utilisation de la commande echo.
tar czf $dest/$archive_file $backup_files : la commande tar utilisée pour créer le fichier d’archive.
c : crée une archive.
z : compresser l’archive avec gzip.
f : sortie vers un fichier d’archive. Sinon, la sortie tar est envoyée vers STDOUT.
ls -lh $dest : instruction optionnelle affichant une liste du répertoire de destination détaillée -l et au format lisible par facilement -h. Ceci est utile pour vérifier rapidement la taille du fichier archive, mais ne devrait pas remplacer le test de celui-ci.
Voici un exemple simple de script shell de sauvegarde. Cependant, il y a beaucoup d’options qui peuvent être inclues dans un tel script. Voir Références pour avoir des liens vers des ressources fournissant des informations plus approfondies sur les scripts shell.
Occasionally I type a password or other sensitive information into a shell prompt. Using bash history, the command can be removed.
# say we start with an empty bash command history
bash-3.2$ history
1 history
# enter a command that requires a password
bash-3.2$ sudo rm -i some_file
Password:
# accidentally ^C and type your password
# into the prompt and hit enter
bash-3.2$ secret_password
bash: secret_password: command not found
# your password is now there for all to
# see in your bash history
bash-3.2$ history
1 history
2 sudo rm -i some_file
3 secret_password
4 history
# first option to fix it, delete the numbered entry from
# history and write to your ~/.bash_history file
bash-3.2$ history -d 3
bash-3.2$ history -w
# entry 3 will be removed entirely from your command history
bash-3.2$ history
1 history
2 sudo rm -i some_file
3 history
4 history -d 3
5 history -w
6 history
# the second option is to clear the entire history
# and write the changes to disk
bash-3.2$ history -c
bash-3.2$ history -w
# it's now pretty obvious that your history has been
# scrubbed clean, but at least your password is history!
bash-3.2$ history
1 history -w
2 history
I► Dans cet article, nous allons aborder les commandes d’administration Linux avancé :
=> mkfifo et script permettent d’initialiser un fichier de type pipe et de récupérer à distance les commandes saisies – exemple :
Un user saisit mkfifo NOmDuFichier (tube), puis démarre le script pour enregistrer les commandes dans ce tube : script -f tube
Un second user (par SSH ou en local) saisit cat tube : le script se met en marche , tout ce qui est saisi par le 1er user est visualisé par le second user :
Le premier user peut mettre fin au scripr en saisissant CTRL+D
=> logger permet d’écrire directement dans le fichier de log principal :
=> Write permet d’écrire directement sur le terminal d’un utilisateur connecté :
=> WALL permet d’écrire sur tous les terminaux ouverts
I► Nous allons voir dans cet article comment mettre en place une réplication croisée MySql en optimisant donc la répartition des charges et la sécurisation des données.
Pour des raisons de simplicité, nous testerons cette config sur le même serveur en utilisant mysqld_multi ( référez vous aux précédents articles )
[mysqld2]
socket = /tmp/mysql.sock2
port = 3308
pid-file = /var/lib/mysql2/hostname.pid2
datadir = /var/lib/mysql2
language = /usr/share/mysql/french
user = mysql