Publicado por: Gustavo Henrique | Março 7, 2009

Linux, Chattr, Lsattr

Esses dias precisei construir um procedimento onde fosse apagado os dados de um diretório exceto um subdiretório, porém este subdiretório seus dados teriam que ser atualizados, para isso usei uma combinação dos comandos rm, chattr, o uso do chattr é muito interessante

se usarmos : chattr +i diretorio

vc nem que tenha todos os diretiros conseguirá apagar o diretório

usando : chattr -i diretorio vc retira esta condição

para listar qualquer dado que esteja com o chattr vc pode usar : lsattr que o sistema irar aprensentar todos os dados.

em resumo ficou assim

criei um arquivinho em : /etc/apagapublico

no crontab coloquei
15 19 * * 1-5 /bin/rm -rf /etc/apagapublico

dentro do arquivo ficou

#/bin/sh
clear
echo “Apagando dados do Publico”
rm -rf /dados/compartilhado/publico/*
chattr -R -i /dados/compartilhado/publico/diretorio
rm -rf /dados/compartilhado/publico/diretorio
cp -R /opt/usuario/diretorio/ /dados/compartilhado/publico/
chattr -R +i /dados/compartilhado/publico/diretorio

pronto

tentei usar a combinação de comandos abaixo porém não consegui, mas segue outras loucuras de comandos

find ! -type d -exec rm ‘{}’ \;

find ! /dados/compartilhado/publico/* | grep [^t\.diretorioanaoapagar]$ -exec rm ‘{}’ \;

find ! -type d | xargs rm

for i in `find /dados/compartilhado/publico/* | grep [^t\.diretorioanaoapagar]$`; do rm -rf $i; done


Deixe uma resposta

Sua resposta:

Categorias