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

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

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

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

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

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

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