Tag Archives: shell

Convertir les tabulations en espace en Bash Shell

shell script

A force de récupérer différents fichiers, je me suis aperçu que je suis amené presque à chaque fois à remplacer les tabulations par des espaces.

Au début, je faisais cette manipulation avec un éditeur de texte genre Notepad++ ou équivalent mais lorsque je suis sous un terminal linux, ce n'est pas forcément pratique.

J'ai alors cherché des outils sous Linux pour effectuer ce genre de manipulations et je suis tombé sur un petit programme sympa nommé "expand".

De plus, ce programme a l'avantage de convertir les tabulations en espace, tout en conservant les retours chariot (retour à la ligne).

Les commandes suivantes permettent d'utiliser "expand":

expand input.file > output.file
expand data.txt > output.txt
expand -t 2 data.txt > output.txt

Veuillez noter que l'option -t peut être utilisée pour définir les positions de tabulation explicites (séparées par des virgules).

Script de Backup sur GoDaddy

backup

Certains de mes sites sont hébergés sur GoDaddy. Si j'ai choisi cet hébergeur c'est pour ses tarifs, la fiabilité des services proposés et également pour la situation géographique de ses serveurs.

Lorsque l'on a un seul site, il est simple et rapide de sauvegarder l'ensemble du contenu et la base de données. Par contre lorsque vous disposez de plusieurs sites, il peut vite devenir contraignant d'effectuer manuellement toutes ses sauvegardes.

Afin de faciliter le backup de mes sites, j'ai développé un script qui permet de faire une sauvegarde automatique des fichiers mais également de la base de données.

Pour l'utiliser, il vous suffit d'éditer les divers paramètres, de sauvegarder le fichier sur votre serveur mutualisé ou dédié puis de rendre le fichier exécutable via la commande "chmod +x monfichier.sh".

Il ne reste plus qu'à l'exécuter via la commande "./monfichier.sh".

Voici mon petit script bien pratique pour réaliser cette tâche administrative:

#!/bin/bash
#Begin Script
SITE='ZeM.fr'
DBHOST='localhost'
DBNAME='dbname'
DBUSER='dbuser'
DBPASS='dbpass'
NOWDATE=`date +%m%d%y` # Sets the date variable format for zipped file: MMddyy
clear # clears terminal window
echo ""
echo "Hi, $USER!"
echo ""
echo "Clean olds files"
rm -rf $HOME/html/_backups/dailyback/*
echo ""
echo "Beginning backup of files @ `date`"
echo "Backing up content..."
#Copy content
cp -rf $HOME/html/Zem.fr $HOME/html/_backups/dailyback
echo "Done!"
echo ""
echo "Backing up Database"
mysqldump -h $DBHOST -u$DBUSER -p$DBPASS $DBNAME > $HOME/html/_backups/dailyback/$SITE-$NOWDATE.sql
echo ""
echo "Done!"
echo ""
echo "Zipping directory structure..."
tar -cvzf $HOME/html/_backups/archives/$SITE-$NOWDATE.tar.gz $HOME/html/_backups/dailyback/*
echo ""
echo "Backup complete!"
echo ""
echo "Clean olds files"
rm -rf $HOME/html/_backups/dailyback/*