The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
Script de suppression automatique de l'ancien dossier summerpeh SUN Solaris 5 09-04-2008 10:27 PM
script de suppression de l'aide de caractères aishu UNIX pour les nuls Questions et réponses 1 01-09-2008 05:37 PM
Script de suppression automatique de la corbeille le fichier du serveur de messagerie crown2100bd SUN Solaris 1 09-20-2007 08:01 AM
Script de suppression automatique des anciens fichiers vivek_scv De programmation et de script Shell 4 09-09-2007 01:57 AM
globale et dynamique de script isingh786 De programmation et de script Shell 2 01-24-2007 08:35 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 10-16-2008
cbo0485 cbo0485 is offline
Registered User
  
 

Join Date: Mar 2008
Posts: 87
Dynamic Log Deletion / Rotatoin Script

J'ai écrit un petit script statique pour mon journal de suppression, mais je me demandais s'il y avait un moyen de faire un script dynamique. ici est de savoir comment mon script fonctionne actuellement.

Code:
#!/bin/sh
###########################################
#Script to zip logs older than 1 week old
#and to delete logs older than 30 days old
###########################################
#
##TEST
#
cd /opt/apache/test/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test1/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
cd /opt/apache/test2/logs
find . -name "access_*" -type f -mtime +8 -exec gzip {} \;
find . -name "access_*.gz" -type f -mtime +31 -exec rm {} \;
find . -name "error_*" -type f -mtime +8 -exec gzip {} \;
find . -name "error_*.gz" -type f -mtime +31 -exec rm {} \;
echo "Script complete on `date +%D`."
Maintenant, pour ce script, j'ai tout simplement copier et coller un nouveau bloc lorsque je crée un nouveau serveur apache, mais je me suis depuis la structure de répertoire et des noms des fichiers journaux sont toujours les mêmes, il y aurait une certaine manière je pourrais ajouter, dans certains la réalité sur cette logique.

Peut-être cd / opt / apache /, faire une liste, puis en quelque sorte un tableau et utiliser une boucle pour saisir le nom de chaque répertoire dans une variable, et ensuite utiliser cette variable pour exécuter la commande find, ne les 4 lignes, puis si un autre répertoire existe répéter.
  #2 (permalink)  
Old 10-16-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: Feb 2006
Lieu: Almería, Espagne
Messages: 393
Salut, l'utilisation:
Code:
find /opt/apache/test*/logs \( -name "access_*.gz" -o -name "error_*.gz" \) -type f -mtime +31 -exec rm {} \;
find /opt/apache/test*/logs \( -name "access_*" -o -name "error_*" \) -type f -mtime +8 -exec gzip {} \;
Observe
  #3 (permalink)  
Old 10-16-2008
cbo0485 cbo0485 is offline
Registered User
  
 

Join Date: Mar 2008
Posts: 87
Citation:
Posté par Klashxx View Post
Salut, l'utilisation:
Code:
find /opt/apache/test*/logs \( -name "access_*.gz" -o -name "error_*.gz" \) -type f -mtime +31 -exec rm {} \;
find /opt/apache/test*/logs \( -name "access_*" -o -name "error_*" \) -type f -mtime +8 -exec gzip {} \;
Observe
Le test * répertoire n'est pas tous les nommé test, c'est le nom de notre web, et ils ne disposent pas d'un schéma normal de ce genre. Puis-je viens de remplacer par une * * pour le test? Pour le faire

Code:
find /opt/apache/*/logs \( -name "access_*.gz" -o -name "error_*.gz" \) -type f -mtime +31 -exec rm {} \;
find /opt/apache/*/logs \( -name "access_*" -o -name "error_*" \) -type f -mtime +8 -exec gzip {} \;
  #4 (permalink)  
Old 10-16-2008
Klashxx's Avatar
Klashxx Klashxx is offline Forum Advisor  
HP-UX/Linux/Oracle
  
 

Join Date: Feb 2006
Lieu: Almería, Espagne
Messages: 393
Bien sûr!
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 12:47 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0