Sample Header Ad - 728x90

Take a backup from specific range

1 vote
1 answer
67 views
I need to backup the data of a specific table by week and then restore it but without truncate table . This table contains the fechaRegistro I prepared the following script but I'm not sure about the way to declare date variables, could you help me about it, please? #!/bin/bash # VARIABLES FECHA=$(date +"%Y%m%d") SERVIDOR="$(hostname)" PASSWORD='PASSWORD' BD=ordenes TABLA="backlogPedidos" ARCHIVO="$SERVIDOR-${BD^^}${TABLA^^}-$FECHA.sql" RUTA_NAS="/tmp/" # Establecer variables para calcular el rango semanal INICIO_SEMANA=$(date -d "last sunday - 6 days" +"%Y-%m-%d 00:00:00") FIN_SEMANA=$(date -d "last saturday" +"%Y-%m-%d 23:59:59") # Se generar el backup por rangoo de una semana mysqldump --databases $BD --tables $TABLA --where="fechaRegistro BETWEEN '$INICIO_SEMANA' AND '$FIN_SEMANA'" --skip-comments --compact --single-transaction --default-character-set=UTF8 --insert-ignore --complete-insert --skip-triggers --skip-routines --no-create-info --disable-keys --set-gtid-purged=OFF -q --lock-tables=false --user=backup -p$PASSWORD > /tmp/$ARCHIVO echo "Backup semanal generado: $ARCHIVO"
Asked by Carolina (47 rep)
Nov 26, 2024, 11:18 PM
Last activity: Nov 27, 2024, 09:15 AM