#!/bin/sh
#
# Créditos do script, versão, etc.
#
#
# Confs do script
# Onde, DIR_ORIG é o diretório a ser backupeado e DIR_DEST é o 
# diretório para onde vai o arquivo compactado e BKP_NAME é o nome ao 
# qual será compactado o diretório.
DIR_ORIG="/diretorio/a/ser/compactado/"
DIR_DEST="/diretorio/a/ser/enviado/o/arquivo"
BKP_NAME="nome-do-arquivo.tgz"

# compactação do diretório de origem diretamente no diretório de destino
tar -czpf ${DIR_DEST}${BKP_NAME} ${DIR_ORIG}

# mensagem de resultado
echo "Seu backup foi realizado com sucesso."
echo "Diretório: ${DIR_ORIG}"
echo "Destino: ${DIR_DEST}${BKP_NAME}";
exit 0

-------------------------------------------------------------------- backup ftp: ---------------------------------

#!/bin/sh
#
# Créditos do script, versão, etc.
#

# Confs do script
# Onde, DIR_ORIG é o diretório a ser backupeado, BKP_NAME é o nome do 
# arquivo de backup a ser criado, FTP_HOST é o endereço do servidor de 
# FTP e, FTP_USER e FTP_PASS são respectivamente o usuario e a senha a 
# serem usados para logarmos no servidor de FTP.

DIR_ORIG="/diretorio/a/ser/compactado/"
BKP_NAME="nome-do-arquivo.tgz"
FTP_HOST="ftp.servidor.com.br"
FTP_USER="usuario"
FTP_PASS="senha"

# compactação do diretório de origem
tar -czpf ./${BKP_NAME} ${DIR_ORIG}

# envio para o FTP, onde neste caso, abrimos a conexao com o servidor, 
# deletamos o arquivo de backup ja existente e envia o novo backup para o 
# diretorio home do usuario do FTP.
ftp -in <<EOF
open $FTP_HOST
user $FTP_USER $FTP_PASS
bin
hash
prompt
del $BKP_NAME
put $BKP_NAME
bye
EOF

# mensagem de resultado
echo "Seu backup foi realizado com sucesso."
echo "Diretório: ${DIR_ORIG}"
echo "Destino: ${FTP_HOST}/${BKP_NAME}";
exit 0

crontab -e 

ele abrirá o editor VI com o arquivo de agendamento do seu usuário.
se quisermos executar um script todos os dias as 14 da tarde colocaremos o seguinte: 

0 14 * * * /bin/bash /local/backup_f2f.sh 

E para quem não é familiarizado com o vi, se ficar meio difícil de inserir esta linha, o arquivo para adição da mesma se encontra em /var/spool/cron/crontabs/usuario, podendo ser editada em outro programa, eu mesmo prefiro o joe. Podemos ver que na linha de comando foi colocado /bin/bash /local/backup_f2f.sh Eu nunca testei para ver se funcionava sem colocar o /bin/bash, pois aqui funcionou direto deste modo que eu apresentei. 

E é basicamente isso, quem quiser entender um pouco mais sobre o cron, digite: 

# man crontab 

e: 

# man crond 
http://www.vivaolinux.com.br/artigo/Backup-automatico-em-Shell-Script