Archive

Posts Tagged ‘scripts’

Bash – Apagar ficheiros com mais de x dias

December 16th, 2009 roger No comments

Um exemplo como a bash é poderosa pediram para criar um script que remove-se ficheiros com mais de x dias.

Quando já estava a pensar em perl,grep’s e awk’s um colega salva-me o dia com este comando :P

find /pasta/* -mtime +15 -exec rm {} \;

testado em HPux e linux :P

Categories: sysadmin Tags: , ,

Monitorização activa de filesystem

November 17th, 2009 roger 2 comments

Foi-me solicitado para monitorizar um determinado filesystem e que ao atingir uma determinado valor de ocupação deveria ser chamado um script externo.  elaborei o seguinte script que deixo aqui para referência futura :P

#!/bin/ksh
#Data Actual
date=$( date )
#utilizacao de disco

fschk=$(bdf /arc | grep /arc | grep -v vg | awk ‘{ print $4} ‘ | sed ’s/%//’)

#confirma se bd ja esta a ser tratada
rman=$(ps -elf | grep rman | grep -v grep | wc -l)

#
if [ $fschk -ge 50 ] ; then
if [ $rman -gt 0 ] ; then
echo “$date $fschk % processo rman esta a correr” >> logmonfs

else

echo “$date $fschk % inicializando o script xpto.sh” >> logmonfs
sh -x xpto.sh
fi
else
echo “$date filesystem /arc ocupa $fschk % ” >> logmonfs
fi
Categories: scripts, sysadmin Tags: , ,

Tarefa chata + perl

August 21st, 2009 roger No comments

Tarefa abrir 80 zips e substituir um documento.

Uma vez que não gosto de tarefas rotineiras resolvi elaborar um script para isto e aqui fica.

#!/usr/bin/perl -w
use warnings;
#use strict;

use Archive::Zip qw( :ERROR_CODES );

#list directory
@files = <*.zip>;
foreach $file (@files) {
print $file . “\n”;

# Read the ZIP
my $zip = Archive::Zip->new();
unless( $zip->read($file) == AZ_OK ) {
die “read error\n”;
}

# Update file
$zip->removeMember( ‘Pathdentrodozip’);
$zip->addFile( ‘.Pathforadozip’, ‘Pathdentrodozip’ );

# Save the Zip file
$zip->overwrite();
}

Posso ainda melhorar mas não prevejo ter que usar novamente este script.

O que tive de ler: Modulo CPAN

E tive ajuda do Bruno Barão na interpretação do modulo que desde já agradeço

Categories: Uncategorized, scripts Tags: ,