Bash скрипт для резервного копирования общих папок Windows

Написал скрипт для резервного копирования общей папки windows. Работает на bash. Из зависимостей — smbclient, cifs-utils, rsync. Так же — для уведомления о результате копирования используется скрипт уведомлений в telegram который я выложил вот тут.

Обязательные параметры:

  • -s  | —server  — адрес сервера или компьютера где расположена общая папка
  • -f   | —folder  —  имя общей папки которую надо скопировать
  • -m | —mount — имя директории на сервере на котором запускается этот скрипт, куда будет подключена общая папка

если параметр m не указан, то он принимает значение такое же как у параметра f. Однако будьте осторожны, имя директории для монтирования лучше задавать латиницей, и уж тем более без специальных символов. Поэтому не все пути до общих папок — подойдут в качестве имени директории для монтирования.
Читать далее

BASH скрипт отправки сообщений и файлов в telegram

Недавно потребовалось мне для уведомлений о различных операциях автоматизации — отправлять сообщения в телеграмм. Поэтому по быстрому накидал скрипт.

Скрипт написан на bash и не имеет никаких зависимостей кроме curl.

На вход скрипту передается два параметра:

  • текст
    (параметре -t или --text)
  • путь до файла
    (параметр -f или --file)

.

Если какой-то параметр не указан, то сообщение данного типа не будет отправлено. Если указаны оба параметра — то сначала отправляется текстовое сообщение, затем отправляется файл.

Как создать бота, получить его токен, узнать CHAT_ID чата с этим ботом — не составит труда найти в интернете.
Исходник скрипта под катом.

Читать далее

BASH скрипт установки Telegraf

За вечер установил себе мониторинг на связке InfluxDB+Telegraf+Grafana+Nginx

Для быстрого развертывания Telegraf накидал bash скрипт, который добавляет репозитарий InfluxDB с Telegraf, устанавливает Telegraf, по переменным в скрипте создает конфиг для него и запускает. Через минуту новый хост будет уже в Grafana.

Читать далее

Ожидание нажатия любой клавиши в программе на C в Windows

В прошлой статье я рассказал как запустить программу написанную на C в ОС Windows, и обратил ваше внимание, что наша первая программа запустится и закроется так быстро что максимум что вы увидите — это мелькнувшее окно консоли. Что же сделать чтобы можно было закрыть программу тогда когда этого хочет пользователь? Читать далее

Запуск программы на С в Windows

Если вы читали предыдущий материал и делали как там описано, вы могли заметить, что хоть программа и работает при запуске из среды выполнения POSIX программ, но не работает если её запустить напрямую из Windows.
Связано это с тем, что gcc компилирует EXE-файл динамически линкованный. Т.е. библиотеки используемые для его работы будут браться из системы. Чтобы такого не происходило gcc запускают с параметром -static для статичной линковки программы и тогда . Однако наша среда эмуляции POSIX — MSys2 и тут подложила свинью, и в терминале запускаемом по умолчанию даже при указании этой опции файл будет неработоспособен в среде Windows, так как будет требовать библиотеку msys-2.dll
Поэтому в этой записи я расскажу как скомпилировать программу чтобы её можно было использовать в Windows напрямую. Читать далее

Установка MSYS2, компилятора, компиляция программы на языке C

Для изучения языка C вполне хватило бы онлайн-компилятора по адресу https://www.onlinegdb.com/, однако тема затрагивающая работы с файлами требует наличия файловой системы и самих файлов, что в онлайн-компиляторе не особо-то  доступно. Поэтому я расскажу как поставить локальный компилятор, создать и запустить свою первую программу в нем.
Читать далее

Скрипт скачивания защищенного файла PDF с Google Drive

Потребовалось на работе качнуть защищенный PDF с GoogleDrive. Как оказалось такие файлы там хранятся только виде картинок и скачать соответственно можно только сами картинки из кеша браузера (которые туда попадают только при просмотре страницы. Т.е. не весь документ за 1 раз, поэтому надо пролистать все страницы, чтобы они упали в кеш)
Ну и далее надо выполнить в консоли разработчика скрипт: Читать далее

Удаление множества textbox из книги Excel

На работе один из сотрудников выполняет дефектовку, и присылает девочкам в сметно-договорном отделе файл Excel с это дефектовкой. Зовут меня девочки как-то раз и показывают этот файл… Таблица на 1 лист формата А4, а весит — 50 мегабайт!!! Читать далее

Функция конвертирования кириллицы в латиницу

Cover Image

Чтобы не забыть, и не шариться в гугле:

function cyr2lat ($text) {
    $cyr2lat_replacements = array ( "А" => "a","Б" => "b","В" => "v","Г" => "g","Д" => "d", "Е" => "e","Ё" => "yo","Ж" => "dg","З" => "z","И" => "i", "Й" => "y","К" => "k","Л" => "l","М" => "m","Н" => "n", "О" => "o","П" => "p","Р" => "r","С" => "s","Т" => "t", "У" => "u","Ф" => "f","Х" => "h","Ц" => "ts","Ч" => "ch", "Ш" => "sh","Щ" => "csh","Ъ" => "","Ы" => "i","Ь" => "", "Э" => "e","Ю" => "yu","Я" => "ya", "а" => "a","б" => "b","в" => "v","г" => "g","д" => "d", "е" => "e","ё" => "yo","ж" => "dg","з" => "z","и" => "i", "й" => "y","к" => "k","л" => "l","м" => "m","н" => "n", "о" => "o","п" => "p","р" => "r","с" => "s","т" => "t", "у" => "u","ф" => "f","х" => "h","ц" => "ts","ч" => "ch", "ш" => "sh","щ" => "sch","ъ" => "","ы" => "i","ь" => "", "э" => "e","ю" => "yu","я" => "ya", "-" => "_"," " => "_" );
    return strtr ($text,$cyr2lat_replacements);
}

Плагин TinyMCEfileman для Bludit

Cover Image

Намучался с плагином ckeditor — не смог заставить нормально работать файловый менеджер который там был встроен. А в плагине TinyMCE для Bludit менеджера файлов нет, как оказалось. Плюнув — написал свой.

Из возможностей — можно менять кнопки в панелях, включать, выключать плагины TinyMCE. Ну и полные возможности этого редактора и интегрированный RESPONSIVEfilemanager.

Ссылка на github: https://github.com/mirivlad/bludit/tree/master/bl-plugins/tinymcefileman

Ссылка на скачивание: https://github.com/mirivlad/bludit/blob/master/bl-plugins/tinymcefileman.zip?raw=true