Portál AbcLinuxu, 8. května 2025 13:40
Zdravim, resim takovy problem, abych si ulehcil praci. Tvorim skript, ktery zkontroluje mysql.err log a pokud obsahuje chybu typu "crashed and should be repaired", automaticky opravi danou tabulku. Jenze tady jsem se zasekl. Skript nejprve zjisti jestli je mysql.err log prazny nebo ne, pokud ne tak:
for I in `cat /var/log/mysql/mysql.err |grep "crashed and should be repaired" |awk '{print $6}' |sed 's/\// /'`;do mysqlcheck $I --auto-repair;done
jenze v sedu se mi nedari orezat dostatecne text na databazi mezera tabulka:
vysledek v sedu:
'./databaze_cz_test/phpbb_search_wordlist'
text v mysql.err je napr:
120103 1:34:48 [ERROR] /usr/sbin/mysqld: Table './databaze_cz_test/phpbb_search_wordlist' is marked as crashed and should be repaired
Je to tedy cele v bashi.
Dekuji za rady.
Řešení dotazu:
sed "s/'.\/\(.*\)\/\(.*\)'/\1 \2/"NN
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.