MySQL: выгрузка результата запроса в файл

Одним из способов является — воспользоваться встроенным функционалом MySQL. Например так мы выгрузим результат запроса в файл формата csv:

select  
	b_form_result.ID, 
	b_form_result.DATE_CREATE, 
	b_form_result.STATUS_ID, 
	b_form_result.FORM_ID, 
	b_form_result_answer.USER_TEXT, 
	b_form_result_answer.ANSWER_TEXT_SEARCH, 
	b_form_result_answer.ANSWER_TEXT, 
	concat("https://wfcwerfe.ru/upload/",SUBDIR,"/",b_file.FILE_NAME) 
from    
	b_form_result  
	left join b_form_result_answer on b_form_result_answer.RESULT_ID=b_form_result.ID 
	left join b_file on b_file.ID=b_form_result_answer.USER_FILE_ID 
where 
	b_form_result.TIMESTAMP_X>"2023-12-06 16:37:26" 
	INTO OUTFILE '/tmp/res.csv' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';

Rsync как средство копирования файлов и папок с одного сервера на другой

Если вы имеете доступ по SSH на сервера, и необходимо скопировать файлы/папки с одного сервера на другой, то удобно пользоваться для этого утилитой rsync. Синтаксис следующий:

rsync -avz -e "ssh -p 22" --progress www-root@118.10.124.167:/var/www/www-root/data/www/domen.ru/* /var/www/domen.ru

MySQL: вычисление значения на основе предыдущей выборки значения

Дано: в БД пишутся счетчики прошедших через интерфейс байт нарастающим итогом в байтах

Задача: вычислить загрузку канала в мбит/сек

Решение:

В данном случае нам поможет оконная функция LAG, которая позволяет затаскивать к текущему значению выборки, предыдущее. Например так:

select dt,(cur-pred)/60/1024 as mbit from (
    SELECT 
    dt,value as cur,
    LAG(value) OVER(PARTITION BY value_type order by value) as pred
    FROM m_data WHERE place=10 and source=12 and value_type=7 order by id desc
)  as zx

Linux: цветной вывод в консоль

Иногда бывает полезно вывод в консоль скриптов чуть «раскрасить», чтобы более наглядно акцентировать внимание пользователя на как-то детали. Для того чтобы вывести текст цветным, необходимо применять специальные наборы спецсимволов. Цвет включается по принципу «реле», т.е. цвет нужно включить, а затем выключить.

ЦветОсновнойФон
Стандартный\033[39m\033[49m
Чёрный\033[30m\033[40m
Тёмно-красный\033[31m\033[41m
Тёмно-зелёный\033[32m\033[42m
Тёмно-жёлтый «Оранжевый»\033[33m\033[43m
Тёмно-синий\033[34m\033[44m
Темно-пурпурный\033[35m\033[45m
Тёмно-голубой\033[36m\033[46m
Светло-серый\033[37m\033[47m
Тёмно-серый\033[90m\033[100m
Красный\033[91m\033[101m
Зелёный\033[92m\033[101m
Оранжевый\033[93m\033[103m
Синий\033[94m\033[104m
Пурпурный\033[95m\033[105m
Голубой\033[96m\033[106m
Белый\033[97m\033[107m
Сброс цвета\033[0m\033[0m
Таблица цветов

Например выведем текст зеленым цветом на PHP:

<?php
echo "###############################################################\n";
echo "\033[;32mЯ весь\033[0m зелёный";
echo "###############################################################\n";
?>

Результат работы скрипта:

Драйвер принтера TCS-210 Linux

Ну не хотят еще до сих пор разработчики драйверов под Linux писать их нормально. Ну как можно сделать драйвера, без возможности добавить свои размеры бумаги? Только хардкор, только ручная правка файла ppd для CUPS.

В ниже представленном драйвере, добавлен размер бумаги 58х28мм, один из распространённых размеров для печати этикеток.

1 6 7 8 9 10 59