Facer copia de seguridade con crontab

febrero 19, 2021 Por admin 0

Primeiro 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 {} \;