....Programmer des taches avec CRONTAB

 

 

Chez 1and1 : Avec un accès à votre espace web linux , via SSH, vous pouvez créer des tâches CRON.

Bien vérifier que la tache qui sera programmée fonctionne sans bug .

Mode d' emploi :

Télécharger Putty ,

Renseigner Host Name puis cliquer sur "open" ; le port 22 doit *être déjà renseigné.

Entrer le login : chez 1and1 c' est le même que pour les transferts FTP ( le mot de passe également)

Entrer le mot de passe : il n' est pas affiché , une fois entré taper ENTER

..........................vous avez désormais la main : (Server):u63xxxxxx - >

Pour connaitre le chemin complet de la racine de votre site :

Taper pwd ( comme ci-dessous )

...........................Réponse : /kunden/homepages/34/d36xxxxxxx/htdocs

La commande crontab et les paramètres les plus utilisés :

•                      crontab -l , affiche les tâches CRON
•                      crontab -e , èdite le fichier des tâches CRON
•                      crontab -r , Supprime l’ensemble des tâches

Ajouter une tâche CRON : taper  « crontab –e » ,

Taper  « i » pour insérer une nouvelle tâche CRON

:

Descendre avec le curseur en fin de ligne ( avant affichage INSERT ):

 

: ..............0 * * * * php6   /kunden/homepages/34/XXXXXXXXX/htdocs/meteo/cron_cyclones.php   >  /kunden/homepages/34/XXXXXXXXX/htdocs/meteo/tmp_cron/file.log 2>&1

0 * * * *  correspond à la fréquence d’exécution du script : toutes les heures

php6 : Il suffit , contrairement à php 5.2.17 où il fallait indiquer le chemin « /usr/local/bin/php5″, d’indiquer " php6" .

/kunden/homepages/34/d36xxxxxxx/htdocs : chemin complet de la racine du site ( voir plus haut )

/meteo/cron_cyclones.php : /réperrtoire/programme à lancer

>  /kunden/homepages/34/XXXXXXXXX/htdocs/meteo/tmp_cron/file.log 2>&1 : résultat du déroulement de la tache dans le fichier /meteo/tmp_cron/file.log

 

MAILTO= permet de définir l'adresse émail qui recevra les notifications après l'exécution des tâches CRON
Pour stopper l'envoi des notifications, il suffit d'utiliser une adresse vide MAILTO=""

...............................MAILTO=michel.xxxxxxxx@orange.fr

Pour quitter le mode insertion, la commande est "echap" ou "ESC" puis :

Pour quitter l'édition du fichier la commande est 2 points " : "

Pour quitter en enregistrant les modifications la commande est "wq" ( "w" pour écrire sans enregistrer)

.........................taper ":wq"

Retour à la ligne de commande (shell) :

....................Réponse : crontab: installing new crontab

 

 

 

 

 

Programmer le temps: * * * * * ( minute, heure , jour du mois , mois , jour de la semaine)

  • minutes : (0-59)
  • heures :(0-23)
  • jour du mois : (1-31)
  • mois : (1-12)
  • jour de la semaine (0-6) , 0 = dimanche, 1 = lundi,.....
  • * : à chaque unité de temps
  • 10 : à chaque 10 minutes , ...10 heures...)
  • 5,10 : à chaque 5 et 10 unités de temps
  • 5-10 : les unités de temps compris entre 5 et 10 (5,6,7,8,9,10).
  • une fois par an "0 0 1 1 *"
  • une fois par mois "0 0 1 * *"
  • une fois par semaine "0 0 * * 0"
  • une fois par jour "0 0 * * *"
  • une fois par heure "0 * * * *"


 

Sauvegarde d' une base de données mysql

ci dessous le programme en PHP qui sauvegarde les bases de données de l' exemple CRONTAB:

 

<?php
// Personnalisez ici vos données d'accès
$host= 'dbxxxxxxxxxxxxxx'; //adresse hébergeur ex: dbxxxxxxxx.db.1and1.com
$user= 'xxxxxxxxxxxxxx'; // nom utilisateur
$pass= 'xxxxxx';// mot passe
$db= 'xxxxxxxxxxx';// nom base de données
$tb=$db."nom_table à exclure";// $tb1 ,.... valeur de chaque base à exclure si nécessaire

// Création de la sauvegarde dans un fichier zip

// ajouter autant de " --ignore-table=%s " et de "$tbx" qu' il y a de tables à exclure

// ou le supprimer ainsi que "$tb" si toutes les tables sont à sauvegarder
system(sprintf(
'mysqldump --opt -h%s -u%s -p"%s" %s --ignore-table=%s | gzip > %s/dump.%s.sql.gz',
$host,
$user,
$pass,
$db,
$tb,//table à ne pas sauvegarder ,supprimer ou ajouter si necessaire $tb1 , $tb2,.........
getenv('DOCUMENT_ROOT'),
$db
));
echo 'Sauvegarde OK.............'.$db;
?>

 

Résultat:

 

 

 

crée le 29/08/2014

 

                                             INFORMATIQUE