OSyn

Auto hébergement - open-source - Synology pour amateurs/débutants, nomades

Quelques pistes cron pour débutants

25/07/2012


Pour rappel, cron permet de lancer des actions à des heures et/ou des jours précis et de manière répétée.
Sur le Syno, vous pouvez y accéder via PuTTY avec la commande vi /etc/crontab
Si vous utilisez le service de cron gratuit chez Hiwit.org, vous retrouvez un formulaire permettant de rentrer les mêmes commandes.

Le cronjob

Une commande cron est constituée de paramètres d'heures et de jours, qui commande l'action, quelle action.
mn   H   jour du mois   Mois   jour de la semaine   propriétaire   action

- Les minutes sont comprises entre 0 et 59,
- les heures, entre 0 et 23,
- le jour dans le mois entre 1 et 31 (si vous mettez tous les 31 de tous les mois, l'action ne sera pas lancée les mois en 30 jours ni en février !),
- le mois, entre 1 et 12
- le jour dans la semaine, de 0 à 6. La semaine commence le dimanche avec 0.
- le propriétaire, root ou un utilisateur autorisé,
- action, ligne de code générant une action.


Au final, ça va ressembler à quelque chose comme ça :
0    10    *    *    *    root    cp -r -p /volume1/web/smpdoc/content /volume1/sauvegardes_web/svgsmpdoc

En création de cron sous vi, utilisez la tabulation pour passer d'une "colonne" à l'autre sinon, le cron ne s'exécutera pas.


Exemples de programmation
0 0 1 1 * va lancer l'action tous les 1er janvier à minuit, soit une fois par an
0 0 * * 0 va lancer l'action tous les dimanches à minuit, soit une fois par semaine
0 0 * * * va lancer l'action tous les jours à minuit

Plus technique :
23 0-16/2 * * * va lancer l'action toutes les 2 heures à la 23e minute, entre minuit et 16 heures.
43 23 1,8 * * va lancer l'action le 1er et le 8 du mois, à chaque fois à 23h43


Exemples de commandes
/volume1/scripts/sauvegarde.sh    suffit pour lancer le script sh (bash) que vous avez créé pour sauvegarder vos sites web distants (commande pour Syno).

wget http://www.monsite.com/mapage.php    télécharge la page php

wget -q http://www.monsite.com/mapage.php    lit la page sans la télécharger. Utile pour lancer un script php distant.
Dans le cas du reminder, par exemple, la page sender.php doit être appelée par cron pour envoyer les mails programmés.

0 8 * * * root /usr/syno/mysql/bin/mysqldump --host=localhost --user=root --password=xxxxx fav > /volume1/sauvegardes_web/mysql/favoris.sql    permet de sauvegarder une BDD du Syno sur le Syno

programmer une sauvegarde de site chez Free sans créer de script sh (pourtant c'est simple, un tuto est indiqué sur ce site !) - attention à changer les données login, mot de passe et dossier de destination.
lftp ftp://votrelogin:motdepasseftp@ftpperso.free.fr -e "mirror -e / /volume1/sauvegardes/dossierdesauvegardedulesite ; quit"    pour sauver les fichiers à l'identique (nécessite d'avoir installé LFPT)

wget http://sql.free.fr/backup.php --post-data="login=votrelogin&password=votremotdepassesql&check=1&all=1" -O /volume1/sauvegardes/SQL/nomdelabase.sql.gz    pour sauver la base de donnée.


Si vous devez lancer une page ou accéder à un répertoire protégé par un mot de passe (via htaccess), vous devez l'indiquer comme suit :
http://login:motdepasse@www.votresite.com

,

commentaires

RSS comments





Remarque : Votre commentaire sera visible après validation par le webmaster.