Aller au contenu

Script De Vidage Rotatif Des Corbeilles Cifs


MrWaloo

Messages recommandés

Bonjour,

Présentation

Les corbeilles réseau accumulent les fichiers supprimés et on ne peut que vider toutes les corbeilles complètement via DSM.

Voici un petit script qui permet de supprimer les fichiers :

- de plus de 15 jours

- de plus de 100Mo (100 000Ko à vrai dire...)

- vides

- temporaires MS Office

- *.ldb (lock de base de données MS Access)

- Thumbs.db

Le principe étant de lancer ce script automatiquement tous les jours (à une certaine heure où le Syno n'est pas trop chargé tant qu'à faire).

Pré-requis

Il faut ipkg et findutils, car la fonction find de base ne fonctionne pas correctement

ipkg install findutils
Ce qui va installer toutes les dépendances automatiquement. Installation 1. Copier ceci dans un fichier (utiliser Notepad++) :
#!/bin/sh

# Vidage des corbeilles CIFS


# Options pour find: fichiers de plus de 15j (mais pas 'desktop.ini'), les fichiers Thumbs.db, fichiers temporaires (MS Office, tmp et ldb), fichiers de plus de 100MB ou vide (fichier ou répertoire)

/opt/bin/findutils-find /volume*/*/\#recycle/* /volume*/homes/*/\#recycle/* -depth \( \( -ctime +15 ! \( -iname 'desktop.ini' \) \) -or -iname 'Thumbs.db' -or -iname '~$*.*' -or -iname '*.tmp' -or -iname '*.ldb' -or -size +100000k -or -empty \) -delete

# Cas spécifique pour les fichiers 'desktop.ini'

/opt/bin/findutils-find /volume*/*/\#recycle/* /volume*/homes/*/\#recycle/* -mindepth 1 -ctime +15 -iname 'desktop.ini' -delete


exit 0[/code]




2. L'enregistrer sur le Syno. Par exemple sous /volume1/public/vide_corbeille.sh



3. Se connecter au Syno en terminal (SSH ou telnet) et rendre le script exécutable :



[code]chmod a+x /volume1/public/vide_corbeille.sh[/code]
4. Editer le fichier /etc/crontab (avec vi par exemple) et y ajouter cette ligne :
[CODE]0 5 * * * root /volume1/public/vide_corbeille.sh[/code]
(Tous les jours à 5 heures du matin) 5. Redémarrer le service cron pour que lle fichier /etc/crontab soit pris en compte :
[code]synoservice --stop crond synoservice --start crond[/code]

[size=5]Utilisation[/size]

Rien à faire, tout se fait tout seul, attention à ne pas renommer ou déplacer le script sans adapter le fichier /etc/crontab.

A+

Michel

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.