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.