Galera esse script é um auto backup da sua database, quem gosta de prevenir vamos ao tutorial.
Criei uma pasta em qualquer local no linux, no meu caso eu fiz uma pasta com o nome database que está localizada na pasta home.
home/database/backup.sh
Certo vamos configura o arquivo, dentro dele já vem tudo explicado mais vou dar um reforço, dentro do arquivo backup.sh contém:
#!/bin/bash CAMINHO="/home/database/" <--- local onde vai ficar salvo os backups NOMEBACKUP="server-backup" <--- nome do backup USER="root" <--- não mexe SENHA="nitendo64" <--- senha da database BANCO="casa_blanca" <--- nome da database #Nao mexer daqui pra baixo TEMPO="$(date +'%d-%m-%Y-%H-%M')" ##### #Rodando o backup ##### if [[ -z "$USER" || -z "$SENHA" || -z "$BANCO" ]]; then echo "Por favor preencha o usuário, senha e banco de dados nas configurações." else mysqldump -u$USER -p$SENHA $BANCO > $CAMINHO"/"$NOMEBACKUP"-"$TEMPO".sql" fi
Certo configurado né, vamos fazer um teste:
Acessa a pasta:
cd /home/database
Da permissão pros arquivos dentro dela, no caso o backup.sh:
chmod 777 -R *
Roda o script pra um teste:
./backup.sh
Veja na imagem do meu teste, já aparece ali a database, então ta ok deu certo as configurações:
Tudo bem, agora vamos configura pra ficar automático, pra todos os dias o script executar o backup em um certo horário:
crontab -e
Se aparecer algo tipo seleciona alguma opção, selecione Nano, que provavelmente seja numero 2...
------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------
Se não aparecer vai direto pra isso:
Digite isso dentro do nano, como você ver na imagem acima já tem adicionado:
0 6,21 * * * sh /home/database/backup.sh
ctrl+x
y
da ENTER
No meu caso botei pro script ser executado as 06:00hrs e 21:00hrs, então todo os dias nesse horário o script vai fazer o backup pra essa pasta que configurei, caso queria mudar o horário a logica do comado é clara né.
Caso queria deixar de minutos em minutos abaixo observe um exemplo de 5 em 5 minutos:
*/5 * * * * sh /home/database/backup.sh
Caso queria deixar de horas em horas abaixo observe um exemplo de 1 em 1 hora:
0 */1 * * * sh /home/database/backup.sh
Qualquer duvida postem, clica em GOSTEI, valeu.
Créditos total:
Joffily Ferreira