Das zusätzliche Leerzeichen macht mich stutzig:
21 Fu
oder es liegt an der Konsole, zeig mal mehr ls -l
Das zusätzliche Leerzeichen macht mich stutzig:
21 Fu
oder es liegt an der Konsole, zeig mal mehr ls -l
Hatte ich schon korrigiert.
Aug 04 11:30:17 raspberrypizero dphys-swapfile[337]: want /var/swap=2048MByte, checking existing: deleting wrong size file (104857600)
Ähh ja, 2 Gigabyte wird schwierig ...
function msg_color($pdo, $alert_tbl, $zeile_msg)
{
$sql = 'SELECT * FROM ' . $alert_tbl . ' WHERE `id` > 0';
foreach ($pdo->query($sql) as $alert) {
if (strpos($zeile_msg, $alert['suchwort']) !== false) {
$zeile_msg = str_replace(
$alert['suchwort'],
'<span style="color:' . $alert['suchfarbe'] . '">' . $alert['suchwort'] . '</span>',
$zeile_msg
);
}
}
echo $zeile_msg, ' ';
}
Display More
Zum Verständnis, do iteriertest über die Zeilen und rufst z.B.
Zeig mal mehr Code, das drumherum.
Und ja, $zeile_msg wird so oft ausgeben, wie Einträge in der $alert_tbl sind.
Es sei denn Du brichst nach dem 1. Treffer ab, wobei zu definieren wäre, was ist der 1. Treffer, da fehlt im SQL ggf. ein ORDER BY `id`
BTW, die ID 0 kannst Du einfacher ignorieren.
function msg_color($pdo, $alert_tbl, $zeile_msg)
{
$sql = 'SELECT * FROM ' . $alert_tbl . ' WHERE `id` > 0';
$found = false;
foreach ($pdo->query($sql) as $alert) {
$position = strpos($zeile_msg, $alert['suchwort']);
if ($position !== false) {
$found = true;
// Colorize msg
echo '<span style="color:', $alert['suchfarbe'], '">', $zeile_msg, '</span> ';
// To output only 1st match, break the loop here
// break;
}
}
if (!$found) {
echo $zeile_msg, ' ';
}
}
Display More
Zeig mal das CREATE von $alert_tbl und ein paar Beispielzeilen.
wird der Text anzählig der Inhalte (Zeilen) mehrfach ausgegeben
Na ja Dein <font Tag bleibt ja für immer offen.
function msg_color($pdo, $alert_tbl, $zeile_msg) {
$sql = "SELECT * FROM $alert_tbl";
foreach ($pdo->query($sql) as $alert) {
if ($alert['id'] > 0) {
// Not 1st row
$position = strpos($zeile_msg, $alert['suchwort']);
if ($position !== false) {
// Colorize msg
$zeile_msg = '<span style="color:' . $alert['suchfarbe'] . '">' . $zeile_msg . '</span>';
}
}
echo $zeile_msg, ' ';
}
}
Display More
Weder mit "test", noch mit test.sh, läuft das Script.
Und das ist auch gut so!
Wenn Dir jemand was Böses will und eine ausführbare Datei ls irgendwo in Deinem Path anlegt, kann es in die Hose gehen, deshalb immer ./test.sh
Gebe ich das Quellverzeichnis explizit an
Code rsync -v "/mnt/nas/gemeinsam/gemeinsame Videos/Dokumentationen/" /home/micha/Medien/Videos/Dokumentationen > /home/micha/log/test.log 2>&1
gibt es nur zur Antwort
Code skipping directory . sent 17 bytes received 12 bytes 58.00 bytes/sec total size is 0 speedup is 0.00
Lies Dich mal schlau bzgl. der rsync Parameter --recursive und --delete ...
Nachträglich undgleich beim Erstellen der Spalte?
Was meinst Du mit nachträglich?
Das wird der PRIMARY KEY, der muss eindeutig sein.
Guckst Du, wenn Du uns nicht glaubst
CREATE TABLE `test` (
`data` int DEFAULT NULL
);
INSERT INTO `test` VALUES (1), (2);
SELECT * FROM `test`;
ALTER TABLE `test` ADD `id` INT unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
SELECT * FROM `test`;
Display More
EDIT: Gültig für MySQL/MariaDB/Percona
Diese Vorgehensweise aber nur, wenn es absolut unwichtig ist, in welcher Reihenfolge die "alten" Daten durchnummeriert werden sollen, da es zwar wahrscheinlich ist, dass in Reihenfolge der Anlage, aber darauf würde ich mich nicht verlassen.Deshalb eher wie in #20
Damit wird die Spalte erstellt, aber doch nicht die Einträge in die Zeilen gesetzt oder?
Doch, die Spalte wird dank auto_inc gleich "richtig" ausgefüllt
Allerdings würde ich es etwas anders machen.
-- Struktur kopieren
CREATE TABLE `LoggerData_NEW` LIKE `LoggerData`;
-- PRIMARY KEY dazu
ALTER TABLE `LoggerData_NEW` ADD `id` INT unsigned NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST;
-- Alle Daten umkopieren
INSERT INTO `LoggerData_NEW` (UTC, LOC, data1, data2, data3, data4, data5, data6)
SELECT UTC, LOC, data1, data2, data3, data4, data5, data6
FROM `LoggerData`
ORDER BY UTC; -- Evtl. andere Sortierung, LOC?, vielleicht enthält ein data* Feld noch verwertbares
-- Tabellen in einem Schritt tauschen
RENAME TABLE `LoggerData` TO `LoggerData_OLD`, `LoggerData_NEW` TO `LoggerData`;
-- Wenn alles passt, kann die Sicherung weg
-- DROP TABLE `LoggerData_OLD`;
Display More
mysql_cursor.execute(""" select ts from Data""")
Da fehlt zur Sicherheit ein ORDER BY ts.
Vorsicht mit fetchAll(), damit Dein Speicher nicht knapp wird.
Ich würde zuerst pauschal alle umsetzen.
Dann die herausfinden, welche "doppelt" sind.
Wenn das nicht zu viele sind, per IDE (phpMyAdmin, Adminer, DBeaver etc.) ändern.
Per Script geht es schwer ohne Primärschlüssel, der nicht ts ist.
Weil ein einfaches Update WHERE ts = ... würde beide Zeilen treffen.
Du müsstest also alle anderen Feldern mit einbeziehen, WHERE ts = ... AND field1 = ... AND field2 = ...
BTW, bei mehreren Einträgen mit gleichem Zeitstempel könnte die Tabelle unvorteilhaft aufgebaut sein, zeig mal SHOW CREATE TABLE Data
Welches System?
Was hast Du konkret versucht?
Welche Fehler sind aufgetreten?
Pushover geht auch.
Bei Cron ist da eine Falle drin:
A "%" character in the command, unless escaped with a backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.
start)
#Aktion bei Start
echo AutostartFrank fuer den Start von node-red
node-red
;;
Mantra: IMMER absolute Pfade verwenden ...
Nächstes Mal bitte in Code tags posten:
Handyfotos per Fotoupload > Dropbox.