Tengo copias de seguridad cada hora, diarias, semanales, etc. de una base de datos MySQL ejecutada por rsnapshot. Estos funcionan con regularidad, pero en el horario equivocado.
Aquí están los contenidos de /etc/cron.d/rsnapshot
:
5 * * * * root /usr/bin/rsnapshot hourly
30 0 * * * root /usr/bin/rsnapshot daily
35 12 * * 0 root /usr/bin/rsnapshot weekly
40 13 1 * * root /usr/bin/rsnapshot monthly
45 0 1 1 * root /usr/bin/rsnapshot yearly
Sin embargo, cuando reviso los archivos resultantes, parece que las instantáneas se están tomando de acuerdo con el cronograma "por hora". Por ejemplo, la copia de seguridad diaria.0 se llama: /backups/daily.0/mysql/2021-01-02_22h05m01s_UTC-db_dump.sql.gz
Puede ver que ese archivo se creó 5 minutos después de la hora.
¿Por qué el trabajo diario, que se supone que debe ejecutarse a las 00:30 a. m. todos los días, se ejecuta 5 minutos después de la hora?
De relevancia puede ser esta parte de mi /etc/rsnapshot.conf
:
retain hourly 3
retain daily 7
retain weekly 4
retain monthly 12
retain yearly 100
Respuesta1
De los documentos:
Al configurar [los intervalos de retención en
/etc/rsnapshot.conf
], tenga en cuenta que el primero en la lista será el único que realmente haga una copia de seguridad de los archivos del sistema de archivos Y rote sus propias copias de seguridad anteriores. El resto SÓLO rotará las copias de seguridad anteriores, creando su copia de seguridad más nueva a partir de la copia de seguridad más antigua creada por el elemento anterior de la lista. Por lo tanto, el orden en que aparecen en el archivo de configuración es muy importante.
Por esta razón, los volcados de copia de seguridad de la base de datos reales solo serán los creados en el intervalo más frecuente, en este caso "cada hora". Dado que en su ejemplo la tarea cron se ejecuta "cada hora" cinco minutos después de la hora, todos los intervalos mayores (incluso mensuales) terminarán reteniendo las copias de seguridad que se crearon cinco minutos después de la hora.