Este script faz o backup de uma pasta, compacta o arquivo e envia um e-mail para o mantenedor caso aconteça algum erro.
#!/bin/bash
MAINTAINERS='emaildomantenedor@gmail.com'
DATE=`date +%Y%m%d`
LOG_FILE=/home/fernando/fullbackup/log/$DATE.log.txt
DIRETORIO=/home/fernando/fullbackup
# https://www.vivaolinux.com.br/dica/Utilizando-arrays-em-shell-script
# http://rodrigotelles.com/5-exemplos-para-voce-aprender-a-utilizar-arrays-no-bash/
# Backup via array, ainda não implementado neste script
DIR_WWW_LIST=("pasta1" "pasta2" "pasta3")
mkdir $DIRETORIO/$DATE
#backup dos arquivos do site, se backup falhar envia email
tar cvf - /var/www/html/site.com.br/ | gzip > $DIRETORIO/$DATE/site.com.br.$DATE.tar.gz
if [ $? -ne 0 ]; then
echo "Copia dos arquivos do site falhou em $DATE" | mail -s "Erro no Backup dos arquivos do site" $MAINTAINERS
fi
Crie este arquivo com nome que quiser e com a extensão .sh
Digamos que o nome do arquivo seja backup.sh
Após criado o arquivo, você precisa dar permissão de execução do mesmo.
sudo chmod +x backup.sh
Depois é só executar.
sh backup.sh
Espero ter ajudado. 🙂