-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathscript_limpar.sh
154 lines (70 loc) · 2.52 KB
/
script_limpar.sh
1
2
3
4
5
6
7
8
9
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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
#!/bin/bash
# Nome do arquivo: limpezaBackup.sh
#
# Script que realiza limpeza dos backups antigos
#
# Versão 1.0: Configurado comando para gerar arquivo com a lista de nomes dos arquivos antigos
# Versão 1.1: Incluido o comando para remover os arquvios antigos
# Versão 1.2: Incluido o menu de ajuda e versao
# Versão 1.3: Incluido variavel para tornar o script universal
#
#########################################
# Feito por: Marcello Marafioti #
# Data: 16/11/2018 #
# e-mail: [email protected] #
#########################################
#
#
MENSAGEM_USO="
Uso: $(basename "$0") [-h | -v]
-h, --help Mostra esta tela de ajuda e sai
-v, --version Mostra a versao do programa e sai
###### MODO DE USO DO SCRIPT ######
1 - Editar os campos: DIR ( diretorio onde fica os arquivos a serem analisados )
ARQ ( nome do arquivo que vai constar a lista de nomes a serem apagados )
DIAS ( configurar o numero de dias de retencao )
2 - Executar o script depois de ter editado os campos mencionado no item 1
Obeservacoes: fazer um backup antes de rodar este script pela primeira vez
configurar o script , realizar o backup e executar o script
###################################
"
# Tratamento das opções de linha de comando
case "$1" in
-h | --help)
echo "$MENSAGEM_USO"
exit 0
;;
-v | --version)
echo -n $(basename "$0")
# Extrai a versão diretamente dos cabeçalhos do programa
grep '^# Versão ' "$0" | tail -1 | cut -d : -f 1 | tr -d \#
exit 0
;;
*)
if test -n "$1"
then
echo Opção inválida: $1
exit 1
fi
;;
esac
# Processamento do script
### Entrada do script ##
echo Para obter ajuda execute ./limpezaBackup.sh -h
echo
echo "#############################################"
echo
### Diretorio onde esta os arquivos para serem apagados ###
DIR=/teste/limpeza/
### Arquivo que contem os nomes dos arquivos a serem apagados ###
ARQ=arquivosVelhos.txt
### Configuracao de quantos dias vao ser ignorados para exclusao ##
DIAS=+3
### Comando que localiza e gera uma lista de arquivos a serem apagados ###
#find /teste/limpeza/ -mtime +3 > arquivosVelhos.txt
find $DIR -mtime $DIAS > $ARQ
### Aqui tem um sleep para ele segurar 1 segundo para executar o comando de limpeza ###
sleep 1
### Comando que apaga os arquivos da lista ###
#xargs -t -L1 rm -f < arquivosVelhos.txt
xargs -t -L1 rm -f < $ARQ