Tag Archives: script

Exécuter un script sous Linux

shell-scripting

Depuis plusieurs mois, je joue pas mal avec mon serveur Linux et du coup je suis amené à faire pas mal de recherche pour trouver comment réaliser certaines commandes de bases comme:

  • rechercher des fichiers
  • supprimer des répertoires de manière redondante
  • exécuter des scripts
  • installer un serveur MySql
  • etc…

Bien sûr, Linux vous offre le MAN pour vous aider et vous guider mais bien souvent cela ne suffit pas. Toute l'information nécessaire pour mener à bien un projet ou pour effectuer une action est disponible sur Internet. Mais encore faut il pouvoir la trouver.

Je vous propose donc de poster une série de tutoriaux tout simples, des sortes de pense bête afin de répondre aux besoins que je rencontre le plus souvent.

Un des premiers besoins que j'ai eu a été de pouvoir exécuter des scripts de maintenance et de copie de fichiers.

Avant de pouvoir exécuter un script, il faut s'assurer que ce dernier dispose des droits d'exécution.

Pour donner les droits d'exécution à un script, il faut utiliser la commande suivante :

chmod +x monscript.sh

Ensuite vous pourrez exécuter votre script via la commande :

./monscript.sh

Vous pouvez également utiliser la commande "sh"

sh monscript.sh

Pour exécuter un script KSH il faut exécuter la commande:

ksh monscript.ksh

Pour exécuter un script BASH il faut exécuter la commande:

bash monscript.bash

Rien de bien compliqué quoi :)

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/*