PrestaShop Forums: [DOC] Utilisation des taches CRON - PrestaShop Forums

Jump to content


Welcome to the PrestaShop Forum! We hope you'll share your comments and suggestions with us. We ask that you please post in English to the main sections of the PrestaShop Forum. If you want to write in another language, please post in the corresponding PrestaShop Community section below.

Please note that PrestaShop Community sections are largely self-moderated. PrestaShop team members may or may not participate in non-English sections. To improve the chances of receiving feedback to your question or comment, please post it in English to the main sections of our Forum.

NYC

Vous parlez français ? par ici !


[DOC] Utilisation des taches CRON


[DOC] Utilisation des taches CRON

#1 Boby Style

    PrestaShop Apprentice

  • 18 Jun 2008
  • Members
  • PipPip
  • 63 posts
  • Location:RENNES

Posted 10 December 2008 - 04:10 PM

Voici comment utilisé CRON sur un serveur.

J'espère que se sera utile pour certain, :exclaim: attention certaines commandes sont spécifique à 1and1 :exclaim:

Bonne lecture.

Qu’est ce qu’une tâche CRON ?
Cron est le nom d'un programme qui permet aux utilisateurs des systèmes Unix d'exécuter automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiées à l'avance, ou selon un cycle défini à l'avance.

Il s'agit d'une fonctionnalité très utile pour des tâches routinières d'administration système, mais elle peut très bien être exploitée pour tout autre chose.

Cron est un démon (daemon), ce qui ─ dans le jargon Unix ─ désigne un programme qu'on ne lance qu'une seule fois après le démarrage de l'ordinateur et qui reste en tâche de fond en attendant qu'on ait besoin de lui.

Le démon cron (crond) attend ainsi jusqu'au moment spécifié dans le fichier de configuration (éditable par le programme crontab) puis effectue l'action correspondante et se rendort jusqu'à l'événement suivant.


Comment accéder aux tâches CRON ?
L’accès au crontab (fichier qui gère vos tâches) n’est disponible qu’à partir du SSH.

Il vous faut ainsi dans un premier temps établir une connexion SSH vers votre espace web afin de pouvoir manipuler votre fichier crontab.


Y a-t-il des limitations sur le fichier Crontab ?
La seule limitation que nous imposons sur une Tâche CRON est de laisser un intervalle d’au moins 5 minutes entre chaque exécution de la tâche.

Cela évite ainsi une charge inutile à notre serveur qui vous transmettrait un mail afin de vous demander d’espacer chaque appel de la tâche d’au moins 5 minutes.

L’accès au crontab (fichier qui gère vos tâches) n’est disponible qu’à partir du SSH.

Il vous faut ainsi dans un premier temps établir une connexion SSH vers votre espace web afin de pouvoir manipuler votre fichier crontab.

La manipulation du fichier crontab en SSH s’effectue dans un éditeur similaire à VI.

Toutes les commandes sur les fichiers sont toujours précédées de crontab

Voici maintenant les commandes afin de manipuler votre fichier Crontab.
crontab –l : Liste l’ensemble de vos tâches CRON
crontab –e : Edite votre fichier crontab
crontab –r : Vide le contenu de votre fichier crontab


Quelle est la syntaxe d’une tâche CRON ?
Une Tâche CRON droit impérativement respecter une syntaxe précise afin d’être accepter par le système.

Lors de la création de votre première Tâche CRON il est intéressant de rajouter sur la première ligne du fichier l’email de l’administrateur qui réceptionnera un mail du système lui indiquant si la tâche s’est exécutée sans erreur et le résultat.
Pour cela, sur la toute première ligne du fichier crontab on place la ligne
MAILTO=votre@adresse.fr

Regardons maintenant la syntaxe de la Tâche CRON
0 2 * * 2 $HOME/backupsql/backup.php


Il est nécessaire de renseigner 5 arguments de temps (0 2 * * 2 dans l’exemple) et la commande à exécuter ($HOME/backupsql/backup.php dans l’exemple).

Voici les informations sur ces 5 arguments de temps dans l’ordre
1 => ce sont les minutes (0-59)
2 => c'est l'heure (0-23)
3 => c'est le jour du mois (0-31)
4 => c'est le mois (1-12)
5 => c'est le jour de la semaine (0-7)

Toujours en reprenant l’exemple ci-dessus (0 2 * * 2) on comprend maintenant que cela signifie
0 (à 0 minute)
2 (à 2h du matin, avec la valeur ci-dessus on comprend 2h00)
* (tous les jours du mois)
* (tous les mois)
2 (tous les mardis)

Chaque instruction est simplement séparée par un espace.

Après c’est 5 indicateurs de temps, on place la commande ou le fichier à exécuter.

Astuce pour ne pas renseigner le chemin vers son répertoire racine
Dans le chemin d’accès à votre fichier, il vous est possible de remplace le chemin traditionnel /kunden/homepages/35/d88495771/htdocs/ pour une simple commande.

En renseignant $HOME à la place du chemin indiquée ci-dessus, le serveur trouvera automatiquement ce dernier lors de l’exécution de votre Tâche CRON.


Comment insérer une nouvelle tâche CRON ?
Après avoir effectué la connexion SSH vers votre espace web, éditez le fichier crontab.
crontab -e 


L’éditeur s’ouvre alors afin de communiquer la Tâche CRON à insérer.

Passez maintenant en mode insertion en appuyant sur la touche i
Insérer maintenant votre commande CRON en respectant la syntaxe.

Une fois cela effectué, appuyez sur les touches Échappe puis : et entrez wq ! terminer l’édition en appuyant sur Entrée.
La fenêtre de l’éditeur se ferme alors en vous donnant l’information
crontab: installing new crontab

La touche Échappe nous permet de quitte le mode insertion.
Les : indiquent au serveur que nous allons communiquer une commande
Les caractères wq ! indiquent que nous enregistrons (w = write) que nous quittons (q = quit) et que nous forçons l’écriture ( ! = forcer l’écriture).

Le nouveau CRON est maintenant en place.


Quelques exemples de tâches CRON
Afin de mieux comprendre le procédé des Tâches CRON voici quelques exemples supplémentaires.

Exemple 1: Tous les jours à 23h30
30 23 * * * df >>/tmp/log_df.txt


Exemple 2: Toutes les heures, passées de 5 minutes
5 * * * * df >>/tmp/log_df.txt


Exemple 3: Tous les premiers du mois à 23h30
30 23 1 * * df >>/tmp/log_df.txt


Exemple 4: Tous les lundis à 22h28
28 22 * * 1 df >>/tmp/log_df.txt


Exemple 5: Du 2 au 5 de chaque mois à 10h12
12 10 2-5 * * df >>/tmp/log_df.txt


Exemple 6: Tous les jours pairs du mois à 23h59
59 23 */2 * * df >>/tmp/log_df.txt


Exemple 7: Toutes les 5 minutes
*/5 * * * * df >>/tmp/log_df.txt

Boby Style - PrestaShop 1.1 final - Macbook unibody

Je ne sais pas ce qui est beau, mais je sais ce que j'aime et je trouve ça amplement suffisant. [Boris Vian].

#2 Patric Codron

    PrestaShop Superstar

  • 17 Jun 2008
  • PrestaTeam
  • 8901 posts

Posted 10 December 2008 - 04:33 PM

Merci !

Ajouté ici :
http://www.prestasho...iewreply/24175/ ;-)
Patric CodronCommunity Manager | Manager de CommunautéPrestaShop

Posted Image Merci de respecter les règles du forum PrestaShop.com :)
Posted Image Please comply with the PrestaShop.com forum rules :)


#3 adiboo

    PrestaShop Apprentice

  • 10 Sep 2008
  • Members
  • PipPip
  • 128 posts

Posted 10 December 2008 - 05:07 PM

merci pour le partage

#4 freebike

    PrestaShop Apprentice

  • 02 Feb 2010
  • Members
  • PipPip
  • 43 posts
  • Location:issoire

Posted 22 November 2010 - 10:08 AM

Bonjour
Merci pour l'info!

From 1228921812:

Il vous faut ainsi dans un premier temps établir une connexion SSH vers votre espace web afin de pouvoir manipuler votre fichier crontab.


Quelqu'un peux t'il nous éclairer sur la façon d'établir une connexion SSH : Filezilla? Hebergeur? Naviguateur?

Merci
Création de sites Web à Issoire
serveur mutualisé chez 1&1;

#5 TrogloGeek

    PrestaShop Apprentice

  • 21 Oct 2009
  • Members
  • PipPip
  • 173 posts

Posted 22 November 2010 - 02:07 PM

From 1290416908:

Bonjour
Merci pour l'info!

From 1228921812:

Il vous faut ainsi dans un premier temps établir une connexion SSH vers votre espace web afin de pouvoir manipuler votre fichier crontab.


Quelqu'un peux t'il nous éclairer sur la façon d'établir une connexion SSH : Filezilla? Hebergeur? Naviguateur?

Merci


Je vais t'apprendre un truc magique : taper "SSH" sur google !

Un accès SSH est un accès à un terminal console distant via une connexion encryptée, ce qui te permet de dialoguer directement en shell avec ce serveur. Autant dire qu'il s'agit d'un accès sensible car un commande mal orthographiée peut provoquer une catastrophe.
Accès à réserver à des personnes compétentes et techniquement au point avec les systèmes linux.
Pour les autres, servez vous plutot des interfaces de gestion web fournies par votre hébergeur ou demandez-leur directement de modifier les tâches CRON à votre place.

Pour les personnes déjà à l'aise avec le terminal shell linuxien mais ne connaissant pas encore SSH (donc à priori personne ;-) ), pour ouvrir un tunnel SSH depuis un environnement Windows (seul OS à ma connaissance à ne pas l'intégrer nativement) :

- putty : http://www.chiark.gr...sgtatham/putty/

Probablement le plus connus, il est très simple et très léger, très similaire à Telnet.

- kitty : http://www.9bis.net/kitty/?zone=fr

Evolution de putty, quelques fonctions supplémentaires, dont la possibilité de sauvegarder ses sessions nommées

- WinSCP : http://winscp.net/

Une interface Commander ou Explorer au choix pour administrer votre serveur, un must have si vous assurez la maintenance de votre serveur vous même, intègre un éditeur en ligne, peut-être couplé avec PuTTy pour lancer celui-ci d'un simple clic depuis WinSCP avec le même nom d'utilisateur (en revanche il faudra ressaisir le mot de passe).


FileZilla prend effectivement en charge le protocole SSH mais uniquement dans le cadre du protocole SFTP (encapsulation SSH d'une session FTP), vous n'aurez donc pas accès au shell et incidemment pas à la table cron qui ne doit pas être éditée directement).
"La technologie c'est tout ce qui doit être secoué pour que ça fonctionne"

Module gratuit Atos/SIPS pour Prestashop : Tgg_Atos (2.1 RC 6 19/11/2011)

#6 cashmedia

    PrestaShop Apprentice

  • 23 Nov 2010
  • Members
  • PipPip
  • 105 posts

Posted 06 August 2011 - 02:54 PM

Merci pour cette contribution :)
Site de vente en ligne de jeux video pc et consoles: ps3 - xbox 360 - wii - ds - psp neufs moins cher.
+ de 100 pré-commande de jeux video à bas prix sur notre boutique !

#7 Eolia

    PrestaShop Addict

  • 01 May 2011
  • Members
  • PipPipPip
  • 561 posts
  • Location:Bourges

Posted 08 August 2011 - 05:23 AM

Merci de ces explications claires et détaillées !

Pour ceux qui ne veulent pas trop mettre les mains dans le cambouis, deux petits programmes facile à mettre en oeuvre pour ses backups et restore en opensource: Mydumper (linux ,MacOs) ou MySQLDumper (tous les OS)
Posted Image
Last version of PSNewsletter 2.0 final !! see post:
Send a newletter with Prestashop

#8 Eolia

    PrestaShop Addict

  • 01 May 2011
  • Members
  • PipPipPip
  • 561 posts
  • Location:Bourges

Posted 03 January 2012 - 07:23 PM

View PostSab74, on 03 January 2012 - 02:33 PM, said:

Bonjour,

Nous venons d'acheter ce module de mailing, installation ok.
Par contre pour l'essayer, j'ai fait un envoi test sur mon adresse mail (3fois) et je n'ai rien reçu.
Merci pour votre aide.

Il doit y avoir une erreur de topic...

Point de module de mailing à vendre ici, à voir avec le créateur peut-être ?
Last version of PSNewsletter 2.0 final !! see post:
Send a newletter with Prestashop





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users