Запуск сценария bash при изменении

Lo más probable es que tenga archivos binarios dañados o un sistema de archivos o una tarjeta SD dañados.

Las tarjetas SD no están diseñadas para un uso intensivo de E/S y se degradan con el tiempo; También se sabe que las frambuesas (es )corrompen los datos en las tarjetas SD cuando se apagan ocasionalmente debido a las características de su diseño (La electrónica no es mi área, no puedo entrar en detalles ).

Es muy posible que tenga una corrupción en el mysqlbinario o bibliotecas asociadas. (tener realmente una falla gdben do-rel.hsugiere lo último ).

Reinstalaría el cliente mysqly las bibliotecas asociadas, como un comando similar a este (su kilometraje puede variar):

sudo apt-get install --reinstall default-mysql-client default-mysql-client-core

Usaría este comando para ver qué paquete le está dando el binario mysqly lo reinstalaría:

dpkg -S /usr/bin/mysql

Entonces también vería qué bibliotecas mysqlestá usando, si eso no soluciona el problema:

ldd /usr/bin/mysql
    linux-vdso.so.1 (0x00007ffc8903c000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f5989c75000)
    libreadline.so.5 => /lib/x86_64-linux-gnu/libreadline.so.5 (0x00007f5989a33000)
    libncurses.so.5 => /lib/x86_64-linux-gnu/libncurses.so.5 (0x00007f5989810000)
    libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5 (0x00007f59895e6000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f59893cc000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f59891c8000)
    libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f5988e46000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f5988b42000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f59887a3000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f598a4bc000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f598858c000)

Es posible que tenga como último recurso reinstalar cada paquete compatible con cada una de estas bibliotecas hasta que se corrija el error. Algunos de ellos son :libaio1, libjemalloc1, libreadline5. Hay mas.

sudo apt-get install -reinstall libaio1 libjemalloc1 libreadline5

Sin embargo, no hay garantías de que no tenga otras partes de su sistema de archivos dañadas. Haría una copia de seguridad de la base de datos y reinstalaría el sistema operativo/MySQL desde cero.

La buena noticia es que menciona otras formas de acceder a la base de datos que funcionan bien, lo que significa que la corrupción está relacionada principalmente con el cliente binario mysql.

No obstante, probablemente volvería a evaluar la ejecución de Linux desde una tarjeta SD en el futuro, especialmente si se usa MySQL.

PD. Como bien señala @cas, "si tiene dlocateo debsumsinstalado, puede ejecutar dlocate --md5check PKGNAMEo debsums PKGNAMEpara verificar los archivos instalados del paquete con su archivo md5sum"

Consulte Raspberry :arranque desde un lápiz USB en lugar de una tarjeta SD

0
23.05.2019, 22:20
1 ответ

Мне удалось добиться желаемого результата с помощью приведенного ниже сценария.

#!/bin/sh
email="myemail@yahoo.com"
/usr/sbin/asterisk -x 'sip show peer 204' | grep -i status | cut -d' ' -f11 >             /tmp/204status1.txt
A=`comm -23 /tmp/204status1.txt /tmp/204status2.txt`
cp /tmp/204status1.txt /tmp/204status2.txt
if [ "$A" == "UNKNOWN" ]; then
(
echo "Subject: System is down - 204"
printf 'System is down...'
) | /usr/sbin/sendmail ${email}
fi
0
28.04.2021, 23:33

Теги

Похожие вопросы