Appuyer sur Entrée / Retour pour commencer votre recherche.

Crontab

Voilà un petit guide pour les crontabs, mais c’est quoi d’abord ?Crontab shell

Un Crontab est l’exécution d’une tache toutes les x heures où x jours où x semaines où x mois. Vous pourriez très bien vous en servir pour relancer des processus, un générateur de statistiques, effacement de fichiers log tout les X temps.

Visualisation
Afin d’afficher le contenu de la table cron (pour l’utilisateur courant), il suffit d’exécuter la commande suivante :

crontab -l

Modification
Afin d’éditer la table cron (pour l’utilisateur courant), il suffit d’exécuter la commande suivante :

crontab -e

Supression
Pour supprimer toutes les actions qui ont été ajouté dans le fichier crontab :

crontab -r
Quelques scripts de crontab pour IRC

Crontab sBNC :

#! /bin/sh
 
repertoire="/home/username/sbnc"
cd $repertoire
 
if [ -f sbnc.pid ]
then
        pid=`cat sbnc.pid`
        if [ `ps -p $pid | wc -l` -eq 2 ]
        then
                exit
        fi
        rm -rf sbnc.pid
fi
 
./sbnc

Crontab Eggdrop :

#! /bin/sh
# chemin du dossier de l'eggdrop:
botdir="/home/username/eggdrop"
 
# Lancement du script qui est eggdrop pour la comande ./eggdrop:
botscript="eggdrop"
 
# Pseudo du bot:
botname="Game"
 
# Fichier user qui est normalement eggdrop.user:
userfile="eggdrop.user"
 
# Fichier pid qui est normalement eggdrop.pid:
pidfile="eggdrop.pid"
 
########## On change rien en dessous ##########
 
cd $botdir
 
# is there a pid file?
if test -r $pidfile
then
  # there is a pid file -- is it current?
  botpid=`cat $pidfile`
  if `kill -CHLD $botpid >/dev/null 2>&1`
  then
    # it's still going -- back out quietly
    exit 0
  fi
  echo ""
  echo "Stale $pidfile file, erasing..."
  rm -f $pidfile
fi
 
if test -r CANTSTART.$botname
then
  if test -r $userfile || test -r $userfile~new || test -r $userfile~bak
  then
    echo ""
    echo "Userfile found, removing check file 'CANTSTART.$botname'..."
    rm -f CANTSTART.$botname
  fi
fi
 
# test if we have run botchk previously and didn't find a userfile
if test ! -f CANTSTART.$botname
then
  echo ""
  echo "Couldn't find bot '$botname' running, reloading..."
  echo ""
  # check for userfile and reload bot if found
  if test -r $userfile
  then
    # It's there, load the bot
    ./$botscript
    exit 0
  else
    if test -r $userfile~new
    then
      # Bot f*@!ed up while saving the userfile last time.  Move it over.
      echo "Userfile missing.  Using last saved userfile..."
      mv -f $userfile~new $userfile
      ./$botscript
      exit 0
    else
      if test -r $userfile~bak
      then
        # Userfile is missing, use backup userfile.
        echo "Userfile missing.  Using backup userfile..."
        cp -f $userfile~bak $userfile
        ./$botscript
        exit 0
      else
        # Well, nothing to work with...
        echo "No userfile.  Could not reload the bot..."
        echo "no userfile" > CANTSTART.$botname
        exit 1
      fi
<|!REG3XP0!>    fi
  fi|>
fi
 
exit 0

Cron thales ( statistiques ) :

#! /bin/sh
 
repertoire="/home/username/thales"
cd $repertoire
 
if [ -f thales.pid ]
then
     pid=`cat thales.pid`
     if [ `ps -p $pid | wc -l` -eq 2 ]
     then
          exit
     fi
     rm -rf thales.pid
fi
 
./thales

Pour faire l’exécution de ces script nous allons faire de cette manière qui est la création d’un dossier cron sur votre shell avec les scripts qui se trouvent au dessus dedans.
Ensuite dans le même dossier nous allons crée le script suivant :

# Crontab Eggdrop
/home/username/cron/eggdrop
# Crontab sBNC
/home/username/cron/sbnc
# Crontab Thales
/home/username/cron/thales

Vous allez nommer le fichier shellbox ( oubliez pas de modifier les chemins des répertoires 😀 )
Pourquoi ce script ? vous allez voir :) maintenant en ssh tapez :

crontab -e

Pour éditer vos taches crontabs puis :

0,15,30,45 * * * * /home/username/cron/shellbox >/dev/null 2>&1

et enfin ctrl+x et O pour valider.

Voilà maintenant toutes les 15 minutes l’exécution de shellbox seras faite et ainsi il feras de même pour les autres scripts .
C’est fini et normalement c’est bon mais si y’a des erreurs vous avez qu’a me le dire dans les commentaires et je corrigerais :)

S’abonner
Notification pour
guest
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires