Problemes amb automysqlbackup combinat amb un "locale" en català
Benvolguda llista, a veure si em podeu ajudar en una cosa:
Uso automysqlbackup per fer les còpies de seguretat d'una base de dades.
Tot funciona correctament excepte els backups mensuals, atès que tinc el
locale del sistema en català i la majoria de mesos tenen un espai en el
nom, cosa que fa que el backup falli. Com a mostra, aquest és el llistat
del directori on van a parar els backups mensuals:
root@circuits:/home/automysqlbackup/monthly/moodle# ll
total 26052
-rw------- 1 root root 12393310 d’ag. 1 06:25
moodle_2020-08-01_06h25m.d’agost.moodle.sql.gz
-rw------- 1 root root 0 de set. 1 06:25
moodle_2020-09-01_06h25m.de
-rw------- 1 root root 14282383 d’oct. 1 06:25
moodle_2020-10-01_06h25m.d’octubre.moodle.sql.gz
-rw------- 1 root root 0 de nov. 1 06:25
moodle_2020-11-01_06h25m.de
-rw------- 1 root root 0 de des. 1 06:25
moodle_2020-12-01_06h25m.de
Veieu? Només s'han creat bé els d'agost i octubre perquè aquests mesos
l'article va apostrofat i no hi ha espais en blanc en el nom.
Fent una mica de recerca he pogut deduir l'origen del problema i fins i
tot sabria solucionar-lo, però voldria saber si hi ha alguna manera
millor de la que jo penso. M'explico:
"automysqlbackup" és un script situat a /usr/sbin. Les línies rellevants
d'aquest script són les següents:
----------------------------
DATE=`date +%Y-%m-%d_%Hh%Mm` # Datestamp e.g
2002-09-21
DOW=`date +%A` # Day of
the week e.g. Monday
DNOW=`date +%u` # Day number of
the week 1 to 7 where 1 represents Monday
DOM=`date +%d` # Date
of the Month e.g. 27
M=`date +%B` # Month
e.g January
W=`date +%V` # Week
Number e.g 37
----------------------------
...
----------------------------
# Monthly Full Backup of all Databases
(...)
dbdump "$MDB" "$BACKUPDIR/monthly/$MDB/${MDB}_$DATE.$M.$MDB.sql"
----------------------------
O sigui que usa "dbdump" (que és una funció definida en un altre lloc de
l'script i acaba usant "mysqldump") amb un nom de fitxer que expandeix
la variable "$M", la qual és el resultat de "date +%B" que, en un
sistema amb locale en català donarà "de desembre" si l'executeu avui,
per exemple.
Tal i com ho veig jo, podria fer el següent:
1) Canviar el "locale" del sistema, el problema és que és un servidor
que córre un Moodle i si canvio el locale del sistema hi ha algunes
cosetes del moodle que surten en anglès.
2) Canviar l'script del automysqlbackup per tal que no posi el nom del
mes, el posi sense espai o alguna cosa semblant. El problema que hi veig
és que ho hauria de refer en cada actualització del automysqlbackup. No
em sembla una bona idea.
3) Potser podria fer un terme mig i crear una configuració "local" del
automysqlbackup, que no es veuria sobreescrita en actualitzar el paquet,
i que forcés un "locale" anglès en executar-se. Potser és la millor
manera però, ni que sigui per curiositat, hi ha alguna manera
d'arreglar-ho preservant el nom del mes en català? Com ho faríeu
vosaltres?
Gràcies!
Orestes.
Reply to: