From 8e2f42c3d6a3a9bbf367574d69a69fe327ab556f Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Mon, 12 Oct 2015 16:42:12 +0200 Subject: [PATCH] =?UTF-8?q?[owncloud]=20Ajout=20du=20cron=20dans=20bcfg2,?= =?UTF-8?q?=20script=20pour=20d=C3=A9monter=20les=20points=20fuses=20cass?= =?UTF-8?q?=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ça n'arrive normalement (d'avoir un point de montage cassé) que si l'utilisateur supprime son ~/OwnCloud. Après avoir été démonté, il sera recréé si l'utilisateur se connecte/est connecté sur owncloud. --- Cfg/etc/auto.home-owncloud/auto.home-owncloud | 21 ++++++++++++------- Cfg/etc/cron.d/owncloud/info.xml | 3 +++ Cfg/etc/cron.d/owncloud/owncloud | 4 ++++ .../clean_owncloud_mount_point | 8 +++++++ .../clean_owncloud_mount_point/info.xml | 3 +++ 5 files changed, 31 insertions(+), 8 deletions(-) create mode 100644 Cfg/etc/cron.d/owncloud/info.xml create mode 100644 Cfg/etc/cron.d/owncloud/owncloud create mode 100755 Cfg/etc/cron.scripts/clean_owncloud_mount_point/clean_owncloud_mount_point create mode 100644 Cfg/etc/cron.scripts/clean_owncloud_mount_point/info.xml diff --git a/Cfg/etc/auto.home-owncloud/auto.home-owncloud b/Cfg/etc/auto.home-owncloud/auto.home-owncloud index d2491b4..cec3c49 100755 --- a/Cfg/etc/auto.home-owncloud/auto.home-owncloud +++ b/Cfg/etc/auto.home-owncloud/auto.home-owncloud @@ -9,20 +9,25 @@ if ! /usr/bin/id $1 &>/dev/null; then fi # Rafraîchi les stats du dossier -ls /home/$1/OwnCloud/ &>/dev/null +/bin/ls /home/$1/OwnCloud/ &>/dev/null || /bin/ls /home/$1 &>/dev/null # Création du dossier OwnCloud s'il n'existe pas ou n'appartient pas a l'utilisateur if [ ! -d "/home/$1/OwnCloud" ] || ! ( - find /home/$1/OwnCloud/ -maxdepth 0 -user $1 -group users | - grep -q /home/$1/OwnCloud/ + /usr/bin/find /home/$1/OwnCloud/ -maxdepth 0 -user $1 -group users | + /bin/grep -q /home/$1/OwnCloud/ ); then mkdir -p /home/$1/OwnCloud && chmod 700 /home/$1/OwnCloud && - chown $1:users /home/$1/OwnCloud || - ( - logger -p local0.error -t autofs "impossible de créer le dossier /home/$1/OwnCloud" - exit 1 - ) + chown $1:users /home/$1/OwnCloud + + if [ ! -d "/home/$1/OwnCloud" ] || ! ( + /usr/bin/find /home/$1/OwnCloud/ -maxdepth 0 -user $1 -group users | + /bin/grep -q /home/$1/OwnCloud/ + ); then + logger -p local0.error -t autofs "impossible de créer le dossier /home/$1/OwnCloud" + exit 1 + fi + logger -p local0.info -t autofs "Dossier /home/$1/OwnCloud créé" fi diff --git a/Cfg/etc/cron.d/owncloud/info.xml b/Cfg/etc/cron.d/owncloud/info.xml new file mode 100644 index 0000000..50d8d36 --- /dev/null +++ b/Cfg/etc/cron.d/owncloud/info.xml @@ -0,0 +1,3 @@ + + + diff --git a/Cfg/etc/cron.d/owncloud/owncloud b/Cfg/etc/cron.d/owncloud/owncloud new file mode 100644 index 0000000..450345c --- /dev/null +++ b/Cfg/etc/cron.d/owncloud/owncloud @@ -0,0 +1,4 @@ +# Fichier gere par BCfg2. + +*/15 * * * * www-data /usr/bin/php /var/www/owncloud/cron.php +*/15 * * * * root /etc/cron.scripts/clean_owncloud_mount_point diff --git a/Cfg/etc/cron.scripts/clean_owncloud_mount_point/clean_owncloud_mount_point b/Cfg/etc/cron.scripts/clean_owncloud_mount_point/clean_owncloud_mount_point new file mode 100755 index 0000000..5fe3238 --- /dev/null +++ b/Cfg/etc/cron.scripts/clean_owncloud_mount_point/clean_owncloud_mount_point @@ -0,0 +1,8 @@ +#!/bin/bash +# +# Fichier gere par BCfg2. + +/bin/ls -l /home-owncloud/ 2>/dev/null | + /bin/grep d????????? | + /usr/bin/awk '{print $7}' | + /usr/bin/xargs -I '@LOGIN@' /bin/umount /home-owncloud/@LOGIN@ diff --git a/Cfg/etc/cron.scripts/clean_owncloud_mount_point/info.xml b/Cfg/etc/cron.scripts/clean_owncloud_mount_point/info.xml new file mode 100644 index 0000000..9488c80 --- /dev/null +++ b/Cfg/etc/cron.scripts/clean_owncloud_mount_point/info.xml @@ -0,0 +1,3 @@ + + +