Magazine Internet

Code du jour: Quatrième temps est le charme

Publié le 06 décembre 2013 par Wtf

Pour ceux qui ne connaissent pas, le script ci-dessous est un wrapper pour fsck.xfs - un script qui est censé réparer un système de fichiers journalisé XFS sur démarrage d'un serveur Linux.

Hors de la boîte, il ne fait rien, laissant ainsi de nombreux administrateurs à l'auteur leurs propres solutions piraté-ensemble, souvent en réponse à un besoin urgent immédiat. Habituellement, ce type de solutions rapides sont maintenus sous le boisseau des pouvoirs en place, ou plutôt, quelqu'un qui pourrait être en aucune façon la moindre script alphabétisés.

Malheureusement pour quiconque a écrit le script, Phil découvert la ruse de son administration et envoyé ce script notre chemin.


# Run xfs_repair 3 times, attempting to remount the 
# filesystem between each run. After this, we run it one last time by 
# dropping the log.
#
# This is terrible. We must never tell anyone that we did this. It's a 
# hideous hack for the xfs metadata corruption bug that we've been seeing.

echo "Attempting repair of xfs filesystem"
if [[ "$*" =~ (/dev/[a-zA-Z0-9]+) ]]; then
  filesystem=${BASH_REMATCH[1]}
  # 3 attempts to fix any possible issues
  for attempt in {1..3}; do
    /bin/umount "${filesystem}"
    /sbin/xfs_repair "${filesystem}"
    /bin/mount "${filesystem}"
  done
  # Drop the log now
  /bin/umount "${filesystem}"
  /sbin/xfs_repair -L "${filesystem}"
else
  echo "error: Couldn't parse filesystem from command"
fi
	
# Clear the ring buffer (see #XXXXXXX)
dmesg -c >/dev/null
	
# We always succeed. Just like the real fsck.xfs exit 0
Code du jour: Quatrième temps est le charme [Advertisement] Make your team a DevOps team with BuildMaster. Pairing an easy-to-use web UI with a free base platform, BuildMaster gets you started in minutes. See how Allrecipes.com and others use BuildMaster to automate their software delivery.

Retour à La Une de Logo Paperblog

A propos de l’auteur


Wtf 169 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Magazine