Le cron sous Owncloud

Et oui, encore un article sur owncloud (et non, je n’ai pas d’action chez eux 🙂 ).

Je voulais vous parler d’un petit réglage intéressant à connaitre sur owncloud, il s’agit de la réactualisation des informations. Ce réglage est présent dans la partie administration et est global pour tout owncloud (et non par utilisateur).

Par défaut, la réactualisation se fait via l’ajax. En gros, lorsqu’un utilisateur affiche une page, ça lance un appel ajax afin que le serveur réactualise les informations (pour les contacts, calendrier, news, etc).
L’avantage est que pour avoir l’actualisation, il suffit de ré-afficher une page. L’inconvénient, c’est que si vous êtes sur un petit serveur (par exemple raspberry), ça surcharge vite la machine, et la bande passante.

Il existe deux autres options : webcron et cron.
Si j’ai bien compris le webcron permet d’appeler le réactualisation des informations via une requête http. L’avantage est lorsqu’on n’a pas accès au système du serveur pour ajouter un cron. L’inconvénient est qu’il faut s’inscrire à un service tiers qui réalisera cette opération et que la réactualisation des données est périodique.

Le cron permet de lancer de façon automatique la réactualisation des informations, qu’on soit connecté ou non. L’avantage est que c’est le serveur qui gère ça. L’inconvénient est qu’il faut avoir accès au système du serveur et que la réactualisation est périodique.

Pour le webcron et le cron, normalement c’est vous qui choisissez la période. Perso, mes info sont réactualisées tous les quarts d’heures.

Voyons maintenant comment passer en cron.

Premièrement, il faut que se connecter sur la machine sur laquelle est installé owncloud en ssh (via putty par exemple)
Il faut ensuite taper la commande suivante :
crontab -u www-data -e
*/15 * * * * php -f /var/www/owncloud/cron.php

Le /15 signifie que le cron doit tourner toutes les 15 minutes. A vous de changer ce temps s’il ne vous convient pas.

Une fois ça fait, il suffit d’aller dans la partie administration et de choisir Cron :
Cron dans owncloud

Vous pouvez voir qu’à coté du titre, il est notifié si la tache tourne bien et quand elle a tourné pour la dernière fois (en heure GMT, soit en été pour la France heure actuelle – 2 heures).

Et voila, votre owncloud fonctionne en cron. L’intérêt est que vous pouvez avoir vos flux rss rafraichis sans avoir besoin d’aller sur le site. Ce qui est utile quand vous avez une application de lecture de flux rss sur votre téléphone qui est synchro avec votre owncloud.