Bienvenus à tous dans le forum SEO de la famille de liens internes, la convivialité est le maître mot de ce forum, partage, bons plans, aides et conseils sur tout ce qui touche le référencement, l'édition et le développement sont de mises sur ce forum.
Le forum liens internes est axé sur le référencement naturel SEO et dans l’aide apporté à la création de sites et des métiers du web
Chacun à sa place dans la famille, du débutant au professionnel averti, alors venez partager et discuter avec les membres de la grande famille des professionnels du web
annuaire et annonce santé




Information et conseil sur les techniques de développement, PHP, MYSQL, CSS, HTML

Programmation et langage sur le développement de site, les explications des différentes techniques du web pour la création de votre site, les conseils, les trucs et astuces, vous avez une question, aucune hésitation venez vous renseignez par ici et partagez avec d'autres votre savoir et vos conseils.
5 messages • Page 1 sur 1

[Tuto] Automatiser le lancement de tâche sur un serveur Unix

Messagepar Armen » Jeu 11 Juil 2013 22:50

Voici une explication sur une fonction qui vous est peut-être méconnue mais qui est accessible sur presque tous les serveurs même mutualisés. Prenons un cas simple, on souhaite sauvegarder une base de données sur son serveur, il existe plusieurs façons de procéder, mais tout d'abord, il faut pouvoir automatiser cette tâche à un moment précis de la journée, et pour cela on utiliser le crontab.

Qu'est ce que le cron tab ?

Que ce soit sous Debian, Ubuntu ou d'autres versions unix, crontab est le nom du programme sous Unix qui permet de lancer à un moment précis programmable une tâche à executer. Pour cela, il travaille avec une table de configuration du programme cron. Pour le configurer, il faut placer une ligne par commande que l'on souhaite automatiser dans ce fichier. Pas de panique, si vous utilisez Cpanel, il existe une option nommée crontab qui vous permet de configurer facilement ce fichier.

Autrement il vous faut un accès à une console SSH ou un FTP pour accéder à la table crontab de configuration qui vous permettra de configurer ce fichier en mode commande, pour ce dernier cas, je ne vous livre pas les explications ici, car une connexion SSH est souvent disponible uniquement sur les serveurs dédiés ou les mutualisés experts. De plus, si vous n'êtes pas famillié avec unix, cela devient plus complexe. Mais si certains le souhaitent, je compléterais ce tuto.

config_cron_cpanel1.jpg
Config du Cron tab sous Cpanel
config_cron_cpanel1.jpg (86.95 Kio) Vu 613 fois

option_cron_cpanel1.jpg
Option cron tab sous Cpanel
option_cron_cpanel1.jpg (57.98 Kio) Vu 613 fois


Quels sont les possibilités et comment configurer ?

Voici une ligne type de ce fichier

mm hh jj MMM JJJ tâche > log

Dans cette syntaxe:
mm : représente les minutes (de 0 à 59)
hh : représente l'heure (de 0 à 23)
jj : représente le numéro du jour du mois (de 1 à 31)
MMM : représente le numéro du mois (de 1 à 12) ou l'abréviation du nom du mois (jan, feb, mar, apr, ...)
JJJ : représente l'abréviation du nom du jour ou le chiffre correspondant au jour de la semaine (0 représente le dimanche, 1 représente le lundi, ...)
tâche : représente la commande ou le script shell ou le programme php à exécuter
log : représente le nom d'un fichier dans lequel stocker le journal des opérations. Si la clause> log n'est pas spécifiée, cron enverra automatiquement un courriel de confirmation. Pour éviter cela il suffit de spécifier > /dev/null

Prenons un exemple, vous souhaitez sauvegarder une base de données tous les jours sur votre serveur. Voici un exemple de ligne à saisir :

* 1 * * * tâche > /dev/null


Cette ligne lancera chaque jour à 1h du matin 'tâche' et n'enverra aucun mail de confirmation à votre adresse mail configurer sur votre serveur.

Volontairement, je ne vous explique pas toutes les options de la ligne cron, mais je vous livre ci-dessous des liens sur des explications complémentaires.

http://fr.wikipedia.org/wiki/Crontab
http://itx-technologies.com/blog/2259-e ... sous-linux


Voila n'hésiter pas à me dire, si cela peut-être utile pour certains ou pas, car je ne souhaite pas polluer le forum avec de la technique inutile. :lol:
Si ce n'est pas clair, dites le moi également, en vieillissant, je tape quelquefois un mot sur deux. :lol:
Une maison d'hôtes dans le Finistère, dans le triangle Audierne - Plouhinec - Pont-Croix, c'est par ici.
Avatar de l’utilisateur
Armen
 
Messages: 42
Inscription: Ven 14 Juin 2013 10:23


>

Re: [Tuto] Automatiser le lancement de tâche sur un serveur

Messagepar sorcierenat » Ven 12 Juil 2013 05:47

Super sympa de ta part de nous faire partager ce Tuto, +1000000
Bien que ce ne soit pas mon domaine de prédilection, j'ai tout compris :D

Merci.
Avatar de l’utilisateur
sorcierenat
Administrateur du site
 
Messages: 3263
Inscription: Ven 14 Juin 2013 09:25

Re: [Tuto] Automatiser le lancement de tâche sur un serveur

Messagepar vlana » Ven 12 Juil 2013 08:59

Alors voilà un tutoriel qui m'intéresse au plus haut point. Je vais prendre le temps de le lire et dans la foulée, je vais créer ma propre tâche auto, cela fait au moins 4 ans que je me dis qu'il faut que j'en fasse une sur mes sites !

Merci beaucoup ! :D
JeuDecouvre pour tout savoir sur le jeu en ligne !
Avatar de l’utilisateur
vlana
 
Messages: 85
Inscription: Ven 14 Juin 2013 11:01

Re: [Tuto] Automatiser le lancement de tâche sur un serveur

Messagepar Armen » Ven 12 Juil 2013 14:09

Bonjour Viana,

D'autant plus que si je ne m'abuse tu as Cpanel puisque de mémoire, je crois avoir lu que tu étais chez O2switch pour ton hébergement.
Donc le tuto est exactement dans ton environnement. ;)

Je vais compléter le tuto si tu souhaites exécuter un batch en php ou bien tu passes en mode commande unix ou shell.
Si tu as besoin éclaircissement, n'hésite pas.
Avatar de l’utilisateur
Armen
 
Messages: 42
Inscription: Ven 14 Juin 2013 10:23

Re: [Tuto] Automatiser le lancement de tâche sur un serveur

Messagepar Armen » Ven 12 Juil 2013 15:26

Juste une petite remarque en passant, pour l'administrateur en chef, c'est normal qu'il y ait un timing sur l'édition de message, car je voulais ajouter une ligne dans mon tuto, mais malheureusement le délai doit être dépassé, du coup je suis obligé de recréer un message. ;)

Pour compléter mon tuto, voici comment lancer un script shell unix, des commandes unix ou un fichier *.php


J'ai décrit comment lancer un script php avec le crontab, cela devient intéressant, car du coup on peut automatiser n'importe quelle procédure en php avec accès à Mysql.

Ex:
Pour les annuairistes, vous créer une procédure php qui vérifie si un souscripteur a bien posé son lien retour sur une page précise, vous alimentez une table SQL et vous vérifiez cela toutes les nuits, et ensuite si le lien saute vous pouvez agir comme il vous convient. Ainsi vous pouvez suivre les petits malins qui passent les liens en nofollow ou qui positionne le lien sur une page orpheline...

Mais l'automatisation de tâches n'a pas de limite, seuls vos connaissances en php et vos besoins vous limitent. ;)
Avatar de l’utilisateur
Armen
 
Messages: 42
Inscription: Ven 14 Juin 2013 10:23


5 messages • Page 1 sur 1

Retourner vers PHP, SQL, CSS, HTML

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

Dynamix Host

cron