Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3002 connectés 

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Script de nettoyage

n°677165
jlighty
Posté le 13-05-2005 à 11:05:27  profilanswer
 

Reprise du message précédent :
pour la crontab
0 0 * * 0,2,3,4,5 root <script de purge>
 
<script de purge> sera appelé à minuit tous les mardis,mercredi,jeudi,vendredi,dimanche
 
(si dimanche est aussi exclu : 0 0 * * 2-5 root <script de purge> )
 
http://www.linux-pour-lesnuls.com/crontab.php


Message édité par jlighty le 13-05-2005 à 11:07:05
mood
Publicité
Posté le 13-05-2005 à 11:05:27  profilanswer
 

n°677166
gwadboy
Posté le 13-05-2005 à 11:06:52  profilanswer
 

A ouai crontab voilà, je cherche le nom du fichier  :jap:

n°677167
jlighty
Posté le 13-05-2005 à 11:07:46  profilanswer
 

"crontab -e" exactement

n°677170
gwadboy
Posté le 13-05-2005 à 11:15:32  profilanswer
 

J'ai édité le fichier crontab avec vi.
 
00 4  * * 2-5   root  sh /root/script_de_nettoyage.sh
 
Et placer le script dans /root
 
Normalement le script effacera les fichiers et les répertoires du mardi au samedi.
 
J'avais complètement oublié crontab.

n°677174
jlighty
Posté le 13-05-2005 à 11:18:26  profilanswer
 

Le samedi est exclu n'est ce pas ?
sinon 2-6

n°677196
gwadboy
Posté le 13-05-2005 à 12:05:21  profilanswer
 

Oui le samedi est exclu et le lundi aussi.

n°677226
gwadboy
Posté le 13-05-2005 à 13:15:08  profilanswer
 

Le prochain script sera un peut plus compliquer.
 
Parce qu’il y a des répertoires par milliers voir plus.
 
L’arborescence du répertoire est la suivant :
 
/data
/data/00_a_99
/data/00_a_99/00_a_99
 
Le script que Jlighty ma aidé à faire règle quelques problème.
Mais dans /data il y a des répertoires autres que les répertoires 00_a_99 a efface.
Les répertoires autres que les 00_a_99 ne commencent pas par des chiffres.
Mais les répertoires qui sont dans /data/00_a_99/00_a_99/ sont à effacer.
Les fichiers et les répertoires seront effaces toutes les semaines.  
 
Le script écrit comme sa effacera les répertoires dans /data/00_a_99/00_a_99 ?
 

Code :
  1. rep_a_analyser="00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99" ;
  2. for rep in `echo "$rep_a_analyser"` ; do cd "/data/$rep"
  3. for i in `find ./ -type d -atime +7 | tail +2` ; do rm -rf $i ; done ;
  4. done ;


 
Merci pour le lien http://www.linux-pour-lesnuls.com/crontab.php  :jap:


Message édité par gwadboy le 13-05-2005 à 13:15:43
n°677228
jlighty
Posté le 13-05-2005 à 13:21:02  profilanswer
 

j'ai pas trop compris ton arborescence
 
/data/:
      -00
      -01
      -<un repertoire à ne pas effacer>
dans /data/00/:
      -01
      -02
      -<un répertoire à ne pas effacer>
 
Déjà peut il avoir un répertoire à ne pas effacer dans 00/ par ex ?

n°677269
gwadboy
Posté le 13-05-2005 à 14:22:27  profilanswer
 

Dans /data il y a des répertoires a ne pas effaces pour l'instant.
 
ex :
 
/data/
     -C123456789
     -C987654321
 
Si non l'arborescence de /data est la suivante :
 
/data/
     -00
     ...
     -99
 
/data/00...99/
             -01
             ...
             -99


Message édité par gwadboy le 13-05-2005 à 14:24:24
n°677358
jlighty
Posté le 13-05-2005 à 16:29:44  profilanswer
 

si tu es sûr que les répertoires à effacer commencent par un chiffre alors un simple :

Code :
  1. ls | egrep -e '^[0-9]'

fera l'affaire


Message édité par jlighty le 13-05-2005 à 16:42:20
mood
Publicité
Posté le 13-05-2005 à 16:29:44  profilanswer
 

n°677363
gwadboy
Posté le 13-05-2005 à 16:40:33  profilanswer
 

A la racine de /data il y a des répertoires a ne pas effaces pour l’instant.
Et ceux la commencent par des lettres.
 
Si non dans les répertoires 00 à 99 il y a des répertoires a effaces et ceux la commencent par des chiffres.
/data/00 … 99/00 …. 99/
 
Si non ta commande je la garde dans un coin :

Code :
  1. ls | egrep -e '^[0-9]'


 
Elle me semble intéressante.

n°680024
gwadboy
Posté le 19-05-2005 à 13:07:29  profilanswer
 

1. Pour les répertoires qui commence par des lettres :

Code :
  1. cd /home/bris/prod/pvd/
  2. for i in `find ./ -type d -cmin +1 -name "C*" | tail +2` ; do rm -rf $i ; done ;


 
Je pense que sa fera l'affaire.
 
Si non pour les répertoires de 00 à 99 et leur sous répertoires je cherche toujours.
 
Merci pour d'avance pour une aide.


Message édité par gwadboy le 19-05-2005 à 13:08:59
n°680109
gwadboy
Posté le 19-05-2005 à 15:33:55  profilanswer
 

J'arrive pas à faire le script faire ce que je voudrais faire.
 

Code :
  1. rep_a_analyser="00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99" ;
  2. for rep in `echo "$rep_a_analyser"` ; do cd "/home/bris/prod/oc/$rep/"
  3. for i in `find ./ -type d -name "*_*" | tail +2` ; do rm -rf $i ; done ;
  4. done ;


 
Il efface pas le répertoire qui ce trouve dans /home/bris/prod/oc/25/65
repertoire : 100727_516725rw
J'ai mit "*_*" dans le script parce que j'arrive pas sans du moins j'ai pas encore trouver une autre solution.
 
L'ancien script :

Code :
  1. rep_a_analyser="00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99" ;
  2. for rep in `echo "$rep_a_analyser"` ; do cd "/home/bris/prod/oc/$rep/"
  3. for i in `find ./ -type d | tail +2` ; do rm -rf $i ; done ;
  4. done ;


 
Si non je pourrais faire une recherche depuis le répertoire /home/bris/prod/oc/ de tous les répertoires avec un "_" et les effaces mais bon je pense qu'il y a une solution pour faire sans ?  :D

n°680499
jlighty
Posté le 20-05-2005 à 11:19:49  profilanswer
 

en fait il faut retirer " | tail +2" car en faisant

Code :
  1. find ./ -type d -name "*_*"

le dossier "./" n'est pas contenu dans le résultat (en effet "./" != "*_*" ).
En laissant le tail +2, le premier résultat est éliminé or je pense que celui-ci  était le répertoire oc/25/65.
 
Au final :

Code :
  1. for i in `find ./ -type d -name "*_*" ` ; do rm -rf $i ; done ;


Message édité par jlighty le 20-05-2005 à 11:20:26
n°680529
gwadboy
Posté le 20-05-2005 à 12:32:03  profilanswer
 

Ok
 
J'ai un peux tafé à la va vite sur le script hier le serveur été à 95% j'ai remarqué que les noms des répertoires qui se trouve dans les dossiers 00/01 par exemple.
 
000123_321654
456321_456321
 
Il sont tous séparent par des "_" donc :
 

Code :
  1. for i in `find /home/bris/prod/oc/ -type d -atim +7 -name "*_*" | tail +2` ; do rm -rf $i ; done ;


 
Voila
Je continu parce que il y a quelques scripts à faire pour d'autre serveur.
 
Merci pour la réponse.

n°680541
jlighty
Posté le 20-05-2005 à 12:51:51  profilanswer
 

attention il ne faut pas ajouter  de "| tail +2" sinon le premier fichier valide ne sera pas affiché.

Code :
  1. for i in `find /home/bris/prod/oc/ -type d -atim +7 -name "*_*"` ; do rm -rf $i ; done ;

n°680774
gwadboy
Posté le 20-05-2005 à 18:08:19  profilanswer
 

Ok,
 
J'ai rectifier, le week-end enfin.
 
Merci bon week-end a tous.

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Mandriva 2005] Script d'upload de l'adresse IPProbleme de script shell
script de recherche[Debian] Script qui set l'AAM, testez-le !
Script d'installation automatique des softs sous GENTOOpartitionner disque dur avec un script perl
Lancer la Konsole en root avec un script sh ?dmg2iso > script perl foireux : besoin d'aide
[linux+emacs+script+modèle] question lecture de fichier[Réglé] Script pour transformer .wav en .ogg à partir d'un répertoire
Plus de sujets relatifs à : Script de nettoyage


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR