terça-feira, 15 de julho de 2014

Script em Shell - compacta.sh

Este script tem a função de listar todos os diretórios do / gravar em um arquivo de nome "lista_dir.txt" no diretório corrente, criar uma pasta no / com nome de "compactados" onde será arquivado tudo, em seguida ler o arquivo "lista_dir.txt" linha por linha compactando e salvando e por último apagando o arquivo "lista_dir.txt"


#!/bin/bash

# Lista todos os ditetorios e grava 1 em cada linha do arquivo lista_dir.txt.
ls -d -1 /* > lista_dir.txt

# Cria a pasta compactados
mkdir /compactados

# Executa o comando enquanto existir linha.
while read LINHA
do

# Compacta o diretorio
tar zcf /compactados/$LINHA-6-14.tar.gz /$LINHA

# Exibe o diretório que foi compactado.
echo $LINHA
echo "-----"

# Lê o arquivo lista_dir.txt
done < lista_dir.txt

# Remove o arquivo lista_dir.txt
rm lista_dir.txt