Skip to content

Instantly share code, notes, and snippets.

@sjourdan
Created July 19, 2013 12:48
Show Gist options
  • Save sjourdan/6038881 to your computer and use it in GitHub Desktop.
Save sjourdan/6038881 to your computer and use it in GitHub Desktop.
#!/bin/bash
PATHPATCH="/root/patch-ovh"
PATHRCS="/etc/default"
PATHCHECK="/etc/init.d"
PATHINITTAB="/etc"
ECHO="/bin/echo"
APTGET="/usr/bin/apt-get"
WGET="/usr/bin/wget"
RM="/bin/rm"
MV="/bin/mv"
CHMOD="/bin/chmod"
$ECHO "On verifie que /root/patch-ovh n'existe pas"
$ECHO ""
if [ -d $PATHPATCH ]; then
$ECHO "Etrange, le repertoire existe deja..."
$ECHO "Tant pis, je le vire..."
`$RM -rf /root/patch-ovh`
$ECHO "Voila qui est fait, on peut partir sur de bonnes bases ;-)"
$ECHO ""
else
$ECHO "Ok, c'est bon pas de mauvaises surprises"
fi
$ECHO "Je le cree et me place dedans"
$ECHO ""
`mkdir $PATHPATCH`
cd $PATHPATCH
$ECHO "Est ce qu'on a wget sur ce serveur ?"
$ECHO "===================================="
if [ -e $WGET ]; then
$ECHO "Cool, wget est present"
$ECHO ""
else
$ECHO "Merde, wget pas la, faut le recuperer"
$ECHO "Un petit coup d'apt-get..."
$ECHO "$APTGET install wget"
`$APTGET install wget;`
$ECHO ""
fi
$ECHO "On download les fichiers sur ftp"
$ECHO "================================"
`$WGET -q ftp://ftp.ovh.net/made-in-ovh/debian/file/patch-0.1/rcS`
$ECHO -n "Download en cours..."
`$WGET -q ftp://ftp.ovh.net/made-in-ovh/debian/file/patch-0.1/checkroot.sh`
$ECHO -n "..."
`$WGET -q ftp://ftp.ovh.net/made-in-ovh/debian/file/patch-0.1/checkfs.sh`
$ECHO -n "..."
`$WGET -q ftp://ftp.ovh.net/made-in-ovh/debian/file/patch-0.1/inittab`
$ECHO "terminé"
if [ -e $PATHPATCH/rcS ] && [ -e $PATHPATCH/checkroot.sh ] && [ -e $PATHPATCH/checkfs.sh ] && [ -e $PATHPATCH/inittab ]; then
$ECHO "Le download des fichiers s'est bien effectué, on peut continuer"
$ECHO ""
$ECHO "Suppression des fichiers à changer"
$ECHO "=================================="
$ECHO ""
`$RM -f $PATHRCS/rcS`
`$RM -f $PATHCHECK/checkroot.sh`
`$RM -f $PATHCHECK/checkfs.sh`
`$MV $PATHINITTAB/inittab $PATHINITTAB/inittab.old`
$ECHO "Mise en place des nouveaux fichiers"
$ECHO "==================================="
$ECHO ""
`$MV $PATHPATCH/rcS $PATHRCS`
`$MV $PATHPATCH/checkroot.sh $PATHCHECK`
`$MV $PATHPATCH/checkfs.sh $PATHCHECK`
`$MV $PATHPATCH/inittab $PATHINITTAB`
$ECHO "On chmod un coup, ça évite les mauvaises surprises au reboot"
$ECHO "============================================================"
# Y a 2 fichiers en check* dans /etc/rcS.d/, c les notres dc pas de pb
`$CHMOD +x $PATHCHECK/check*`
$ECHO ""
$ECHO "Suppression du repertoire de patch"
$ECHO "=================================="
`cd /root`
`$RM -rf /root/patch-ovh`
`$RM -f /root/patch.sh`
# et celui là pas sûr qu'il soit déjà parti...
# je préfère le supprimer pour éviter les conneries
`$RM -f /root/livraison.sh`
$ECHO ""
$ECHO -n "Fin du patch, "
$ECHO -n `hostname`
$ECHO " est maintenant à jour!"
exit
else
$ECHO "Les fichiers ne sont pas là, je me casse..."
$ECHO "J'ai détecté qu'il y avait un ou plusieurs fichiers absents"
$ECHO "Vous pouvez essayer de relancer le patch de la manière suivante: sh patch.sh"
$ECHO "[ERREUR FATATLE] : fichiers de ftp absents"
exit
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment