Facer copia de seguridade con crontab
febrero 19, 2021Primeiro creamos unha carpeta para aloxar o script que imos facer, que se chame por exemplo Scripts_Crontab.
Dentro desa carpeta, creamos o seguinte script cun procesador de texto plano:
!/bin/bash
_hoxe=$(date +"%d_%m_%Y")
_arquivo="/home/user/CS/Backup$_hoxe.tar.gz"
tar -cvf $_arquivo /var/www/html
O Script contén o seguinte liña a liña:
1ª Indica que é un script do bash
2ª Colle na variable _hoxe
a data actual
3º Compón o nome do arquivo final coa data e a ruta e o garda na variable _arquivo
4ª Fai a copia de seguridade da carpeta /var/www/html
e a garda en /home/user/CS
Feito isto, gardamos o arquivo co nome backup.sh
na carpeta anteriormente creada, o pechamos e dámoslle permiso de execución dende o terminal así:chmod +x /home/user/Scripts_Crontab/backup.sh
Finalmente abrimos crontab en modo edición así:crontab -e
Aquí, na última liña, temos que escribir a orden. Hai 6 parámetros que hai que poñer:
1º o minuto ou * se é cada minuto
2º a hora ou * se é todas as horas
3º o dia ou * se é todos os dias
4º o mes ou * se é todos os meses
5º o día da semana (0=domingo) ou * se vale calquera dia da semana
6º o comando ou script a executar
Cada parámetro ten que estar separado por un espazo en branco.
Neste exemplo sería unha cousa así:30 12 * * * /home/user/Scripts_Crontab/backup.sh
Indica que ás 12:30 de todos os dias, ten que executar o script backup
.sh
Se queres que ademais vaia eliminando copias de mais de sete días, terás que facer algo asi ao final do script:find /home/user/CS/backup* -mtime +7 -exec rm {} \;