Ignorante
(usa Slackware)
Enviado em 14/01/2016 - 12:55h
Olha esse exemplo tosco de script de backup, simples mas funcional
#!/bin/bash
#-------------------------------------------------------------------------
# Script para Backup Servidor Firewall.
#
# @FILESOURCE bkfirewall.sh
# @AUTHOR Adriano Winkler
# @DATE Dom 30 Ago, 19:30 - 2015
# @VERSION 1.0.1
#
# Itens ou comentários adicionais podem ser colocados logo a baixo como
# alterações, ou ultimas alterações, plataformas etc.
#-------------------------------------------------------------------------
# Somente faz backup dos principais arquivos de configurações do Servidor
# não inclui pastas, somente arquivos.
#-------------------------------------------------------------------------
# Variaveis Principais
DATA=`date +%d-%m-%Y`
NAMEBK=firewall
BKFOLDER=/backup/BackupFirewall
# Variaveis E-mail
TO=adrianowinkler@gmail.com
LOG=/tmp/bkfirewall.log
# Variaveis Personalizadas
FIREWALL=/etc/init.d/firewall
MAC=/etc/init.d/mac
PASSWD=/etc/passwd
ISCDHCP=/etc/default/isc-dhcp-server
DHCPD=/etc/dhcp/dhcpd.conf
INT=/etc/network/interfaces
PPP=/etc/ppp/pap-secrets
PFTPD=/etc/proftpd/proftpd.conf
PFTPMOD=/etc/proftpd/modules.conf
SMB=/etc/samba/smb.conf
SSHD=/etc/ssh/sshd_config
CRON=/etc/crontab
SSMTP=/etc/ssmtp/ssmtp.conf
#-------------------------------------------------------------------------
echo -e "###### Resumo das ações realizadas em $HOSTNAME em $DATA ####### \n" > $LOG
echo -e "Criando pasta Temporaria $NAMEBK-$DATA em $BKFOLDER ... \n" >> $LOG
cd $BKFOLDER
mkdir "$NAMEBK"-"$DATA"
cd $NAMEBK-$DATA
sleep 1
#-------------------------------------------------------------------------
echo -e "Copiando arquivo $FIREWALL ...OK \n" >> $LOG
cp $FIREWALL firewall
sleep 1
cat $FIREWALL >> $LOG
sleep 1
echo -e "Copiando arquivo $MAC ...OK \n" >> $LOG
cp $MAC mac
sleep 1
cat $MAC >>$LOG
sleep 1
echo -e "Copiando arquivo $PASSWD ...OK \n" >> $LOG
cp $PASSWD passwd
sleep 1
cat $PASSWD >> $LOG
sleep 1
echo -e "Copiando arquivo $ISCDHCP ...OK \n" >> $LOG
cp $ISCDHCP isc-dhcp-server
sleep 1
cat $ISCDHCP >> $LOG
sleep 1
echo -e "Copiando arquivo $DHCPD ...OK \n" >> $LOG
cp $DHCPD dhcpd.conf
sleep 1
cat $DHCPD >> $LOG
sleep 1
echo -e "Copiando arquivo $INT ...OK \n" >> $LOG
cp $INT interfaces
sleep 1
cat $INT >> $LOG
sleep 1
echo -e "Copiando arquivo $PPP ...OK \n" >> $LOG
cp $PPP pap-secrets
sleep 1
cat $PPP >> $LOG
sleep 1
echo -e "Copiando arquivo $PFTPD ...OK \n" >> $LOG
cp $PFTPD proftpd.conf
sleep 1
cat $PFTPD >> $LOG
sleep 1
echo -e "Copiando arquivo $PFTPMOD ...OK \n" >> $LOG
cp $PFTPMOD modules.conf
sleep 1
cat $PFTPMOD >> $LOG
sleep 1
echo -e "Copiando arquivo $SMB ...OK \n" >> $LOG
cp $SMB smb.conf
sleep 1
cat $SMB >> $LOG
sleep 1
echo -e "Copiando arquivo $SSHD ...OK \n" >> $LOG
cp $SSHD sshd_config
sleep 1
cat $SSHD >> $LOG
sleep 1
echo -e "Copiando arquivo $CRON ...OK \n" >> $LOG
cp $CRON crontab
sleep 1
cat $CRON >> $LOG
sleep 1
echo -e "Copiando arquivo $SSMTP ...OK \n" >> $LOG
cp $SSMTP ssmtp.conf
sleep 1
cat $SSMTP >> $LOG
sleep 1
#-------------------------------------------------------------------------
echo -e "Compactando Pasta de Backup... \n" >> $LOG
cd -
tar -cf $NAMEBK-$DATA.tar $NAMEBK-$DATA
sleep 3
echo -e "OK \n" >> $LOG
#-------------------------------------------------------------------------
echo -e "Removendo Pasta Temporaria... \n" >> $LOG
rm -R $NAMEBK-$DATA
sleep 1
echo -e "OK \n" >> $LOG
#-------------------------------------------------------------------------
echo -e "###### Fim das Operações em $HOSTNAME em $DATA ####### \n" >> $LOG
ssmtp -vvv $TO < $LOG
rm $LOG
#-------------------------------------------------------------------------
#-------------------------------------------------------------------------
O Crontab
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
# Firewall
10 00 * * * root /root/bkfirewall1.0.sh
#