Taches cron


Les tâches cron se trouvent ici:

/etc/crontab (fichier)
/etc/cron.d (répertoire)
/etc/cron.daily (répertoire)
/etc/cron.hourly (répertoire)
/etc/cron.monthly (répertoire)
/etc/cron.weekly (répertoire)

Ajouter un crontab (tâche cron)


On peut lancer un bash (fichier qui contient des lignes de commande linux)
On peut également exécuter un fichier php : php -f /var/www/monsite/script.php

REMARQUE :

- exécution d'un script php par un site web : répertoire courant = répertoire du script php appelé par le navigateur

- exécution d'un script php en ligne de commande : répertoire courant = répertoire du shell (celui d'avant que tu appelle php)

- exécution d'un script php grâce à cron : répertoire courant = répertoire de l'exécutable de php.

Exemple d'une tâche cron, on veut sauvegarder la base de donnée MySQL tout les jours à minuit (00:00) et lancer un script toutes les 3 minutes

nano /etc/crontab

#____________________________
#  sauvegarde base de donnée           | ( tout les jours à 00h00 )
#____________________________| (>/dev/null 2>&1 pour désactiver l’envoie d'email quand crontab est exécuté)
# m h dom mon dow user  command
00 00   * *   *   root  /mes-scripts/save-dbb >/dev/null 2>&1

#_________________________
# ( toutes les x minutes )             | 
#_________________________|
# m  h dom mon dow user  command
#*/3  *   * *   *   root  /mes-scripts/mon_script

Exemple de script de sauvegarde de base de donnée mysql:

nano/mes-scripts/save-dbb

#!/usr/bin/php5

<?php

$date= date('d-m-Y-H-i-s' , time());

$host     = 'localhost';
$user     = 'user';
$pass     = 'password';
$dbb      = 'dbb_name';
$path     = '/var/ftp/directory/';
$filename = $date . '-' . $dbb . '-sql.zip';

$query="mysqldump --opt -h$host -u$user -p$pass $dbb |gzip > $path$filename";

exec ($query);

?>

Le script soit être exécutable :

chmod 700 /mes-scripts/save-dbb

Et le répertoire où sera sauvegardée la sauvegarde doit être accessible en écriture

pour relancer les cron :

/etc/init.d/cron restart
Vos commentaires
Laisser un commentaire
sera en attente de modération, validation NON automatique
Javascript should be activated
Recopiez le code SVP:
pseudoVotre nom (obligatoire)
emailEmail ou site internet (facultatif)
(nécessaire si vous souhaitez être prévenu d'une réponse)
photo, imageImage/photo (facultatif)
(JPG, JPEG, PNG ou GIF)
(image de partition concernant le question par exemple)
Ne pas remplir si vous êtes un humain (anti spam)