Utiliser le Planificateur de tâches chez Infomaniak

hébergeur infomaniak

Dans un précédent article, je vous avais présenté comment importer votre propre certificat dans votre hébergement Infomaniak. Aujourd’hui, nous allons voir comment créer des tâches CRON au sein de votre hébergement mutualisé.

Vous allez voir que la méthodologie est pour le moins surprenante… En effet, la plupart des hébergeurs vous laissent accéder directement au fichier CRONtab en CLI pour créer vos tâches et choisir le moment de leur exécution… mais pas chez Infomaniak !

En effet, le processus est un peu plus compliqué chez cet hébergeur. Mais une fois que vous avez compris, vous verrez que le résultat est le même.

Etape 1 – L’outil de Planificateur de tâches

Lorsque vous êtes connecté à votre Manager Infomaniak, rendez-vous dans votre espace hébergement. Dans les Outils avancés, vous allez voir l’outil Planificateur de tâches. C’est là-dedans que la magie va opérer… 😉

Vous allez pouvoir cliquer pour créer une nouvelle tâche et remplir chacun des éléments de configuration. Dans mon cas, ma tâche planifiée réalise simplement un backup de tous mes sites Internet.

Planificateur de tâches - Infomaniak
Planificateur de tâches – Infomaniak

Choisissez le nom de la tâche, si vous souhaitez l’activer (à priori oui) mais surtout le moment où vous souhaitez qu’elle soit exécutée. Dans mon cas, j’ai choisi que ma tâche planifiée de backup soit exécutée automatiquement tous les jours à 3h du matin. Je vous laisse le soin d’adapter en fonction de vos besoins. Vous noterez que jusque là ça ressemble au tâches CRON – simplement, nous avons des jolis menus déroulants. 😉

Etape 2 – Appel de la tâche planifiée

La partie qui est un peu spécifique c’est la numéro 3. En effet, vous ne pouvez pas « appeler » notre tâche planifiée automatiquement. Il faut passer par un fichier web ou en tout cas une URL. Et c’est le fait d’aller contacter cette URL à 3h du matin qui va exécuter le code de ma tâche planifiée.

Vu ce mécanisme et le fait que l’URL est potentiellement accessible sur Internet… vous allez probablement protéger cette page Internet par un identifiant / mot de passe (htaccess / htpasswd). Pourquoi ? Et bien parce que sinon, n’importe quel utilisateur qui connait l’adresse de cette page déclenchera la tâche à chaque fois qu’il la visitera…

Du coup, l’outil Infomaniak va donc visiter cette page tous les jours à 3h du matin et c’est ce qui va déclencher mon cours script. Vous pouvez bien entendu choisir de positionner de fichier à n’importe quel endroit de votre offre d’hébergement.

Etape 3 – Code du fichier PHP et appel du script

Dans mon cas, j’ai choisi d’appeler le fichier backup-infomaniak.php (et donc du PHP mais vous pouvez adapter ce choix en fonction de vos contraintes personnelles). Il nous reste à aller voir ce que j’ai mis comme code dans ce fichier.

login@server:~/sites/cron.akril.net$ more backup-infomaniak.php 
<?php
shell_exec("sh /home/clients/client_number/scripts/backup-infomaniak.sh");
?>
login@server:~/sites/cron.akril.net$ 

Et bien c’est très simple, dans mon fichier PHP, je vais simplement utiliser la ligne « shell_exec » afin d’éxecuter mon script shell qui est disponible au sein de mon espace Infomaniak.

Et finalement, dans mon script, je dispose des quelques lignes suivantes :

#!/bin/bash

# Variables
d=$(date +%Y-%m-%d_%H-%M)
# Cleaning old backups
rm /home/clients/client_number/perso-backup/*

# Backup of database
mysqldump --no-create-db=true -h'server' -u'login' -p'secret_password' database > /home/clients/client_number/perso-backup/"$d"_sql_backup_word
press.sql

# Making the tar.gz for all the files
tar -czvf /home/clients/client_number/perso-backup/"$d"_backup_infomaniak.tar.gz \

A la fin de tout ça, je dispose donc d’un dumps de mes bases de données SQL et également d’une copie de l’ensemble des fichiers de mon hébergement Infomaniak. 🙂

Aperçu des fichiers backups
Aperçu des fichiers backups

Il ne vous reste plus qu’à stocker ça quelque part… ailleurs que sur votre offre d’hébergement ! 😉

Conclusion

Au final, le fonctionnement est un peu particulier par rapport à ce que j’ai pu utiliser par le passé où les hébergeurs me laissaient généralement accéder à mon fichier CRONtab – mais une fois mis en place, le résultat est le même ! 🙂

Si vous le souhaitez, vous pouvez consulter la doc officielle sur le site de l’hébergeur mais… c’est pour le moins succinct et surtout elle n’a pas été mise à jour depuis un moment. 🙁