воскресенье, 9 апреля 2017 г.

QGIS - бесплатная геоинформационная система


QGIS - мощная ГИС с открытым исходным кодом.
Поддержка платформ  Windows, Mac, Linux, BSD (а вскоре и на Android).
Поддержка баз данных: DB2, MSSQL, PostGIS, Oracle, SpatiaLite.
Растры:  GeoTIFF, Erdas IMG, ArcInfo ASCII Grid, JPEG, PNG и др.
Умеет экспорт в DXF, импорт DWG/DXF
В QGIS стандартным векторный форматом данных  является ESRI shape-файл. Но, есть выгрузка слоев и в форматы например: dxf, csv, SqlLite, xml, mapinfo и др.


1. Подключим слой Яндекс карт в качестве подложки
2. Создадим свой векторный слой


Для подключения Яндекс карт необходимо установить модуль QuickMapServices

Модуль - QuickMapServices
После установки идем в меню Интернет-QuickMapServices-Настройки-Загрузить сервисы- жмем кнопку получить дополнительные источники данных:
Дополнительные источники данных
На панели задач появится кнопка где можно загрузить любую из предложенных карт
Yandex карты
Таким образом например Яндекс карты можно использовать в качестве подложки для создания векторных объектов.


Создадим новый векторный слой: откройте в меню Слой-Создать слой-Создать shape-файл
Параметры слоя
Возможны при создания слоя три типа: точка, линия, полигон. Создаем необходимые поля для объекта. Qgis поддерживает великое множество систем координат. Выберем проекцию EPSG:3395 - это проекция  Меркатора на эллипсоид, ее используют Яндекс карты. EPSG:3857 (3785, 900913) – Проекция Меркатора на сферу. Эта проекция используется сервисами Google, Bing, OpenStreetMap, Yahoo, и др.
Полигон
Поля которые мы добавляли при создании слоя, являются атрибутами данного полигона, и могут его описывать(название здание или комментарий). Имеется возможность их редактировать, удалять или добавлять новые.
Полигон - параметры

В следующем статье рассмотрим подключение к БД PostGis и создание слоев в БД.


пятница, 7 апреля 2017 г.

Как удалить шары admin$, C$ , D$ и т.д.


Общие файловые ресурсы (shares) используют для удаленного доступа к файлам. Но, кроме обычной "шары" есть еще административные ресурсы. Доступ к ним может быть выглядеть примерно так: \\«имя компьютера»\C$. Эти сетевые ресурсы доступны только для пользователя с правами администратора для данного компьютера.
share
Это очень удобно в плане администрирования. Например администратор в домене Windows может легко попасть на диск C компьютера Васи. Для параноиков которые хотят удалить данные ресурсы:  после удаления их в панели управления компьютером, они после перезагрузки появятся снова. Поэтому нужно добавить в реестр пару ключей. Привожу пример bat скрипта (подправить под свои данные) который удаляет административные шары.


REM Disable Admin Shares: IPC$, ADMIN$, C$, D$, E$
REG ADD HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters /f /v AutoShareWks /t REG_DWORD /d 0
REG ADD HKLM\SYSTEM\CurrentControlSet\services\LanmanServer\Parameters /f /v AutoShareServer /t REG_DWORD /d 0
REG ADD HKLM\SYSTEM\SYSTEM\CurrentControlSet\Control\Lsa" /f /v restrictanonymous /t REG_DWORD /d 1@echo.
net share admin$ /delete
net share C$ /delete
net share D$ /delete
net share E$ /delete


понедельник, 3 апреля 2017 г.

Настройка доступа к сетевому принтеру через localport

Подключение сетевого принтера через локальный порт:
1. Откройте панель управления - "Устройства и принтеры"
2. Выбрать  "Установка принтера" - "Добавить локальный принтер"

3. Выбрать "Создать новый порт". Тип порта "Local Port". Нажмите далее.

4. В появившемся окне введите сетевой путь до принтера:

\\[Ip-адрес компьютера]\[Сетевое имя принтера]

пятница, 31 марта 2017 г.

Регулярные выражения - примеры №1

Более двух пробелов в строке:
\s{2,}
Все символы между началом строки и например словом Принтер:
(^.*Принтер)
Ищет все, что начинается с Принтер и до конца строки:
(Принтер.+)$
Ищет пустую строку и удаляет пустую строку:
\n\r   заменить на \0
Ищет всю строку содержащую какое-то слово:
(^.*Прринтер.+)$ или (^.*Device Toolbox)$  или (^.*Excel MUI.+)$
Пробелы в начале строки:
^\s*
Удалить пробелы в конце строки после последнего символа
найти: \s+$  заменить на: \0
Удалить дубликаты :
^(.*?)$\s+?^(?=.*^\1$)  заменить на \0

Регулярные выражения в notepad++

Список выражений:
. — Один произвольный символ
^ — Начало строки
$ — Конец строки
\s — Пробел
\S — Не Пробел
\w — Буква, цифра или символ подчёркивания _
\d — Любая цифра
\D — Любой символ кроме цифр
[0-9] — Любая цифра
[a-z] — Любая буква от a до z (весь латинский набор символов) в нижнем регистре
[A-Z] — Любая буква от a до z в ВЕРХНЕМ регистре
[a-zA-Z] — Любая буква от a до z в произвольном регистре
[a-Z] — Любая буква от a до z в произвольном регистре
* — Повторение. Означает, что предшествующий символ может повторяться (0 или более раз)
.* — Любой набор символов. Например, условие .*
— найдет все что между тегами

(^.*$) — Любой текст между началом и концом строки
([0-9][0-9]*.) — Любое двухзначное число
\n\r — Пустая строка
^\s*$ — Пустая строка с пробелом
^[ ]*$ — Ищет пустые строки содержащие пробел
.

Выгрузка ФИО и логинов из ActivDerectory

dsquery - позволяет искать в AD объекты
dsget - получает свойства выбранного объекта, в нашем случае мы получаем информацию по логину, а именно фио, за это отвечает параметр -display

некоторые параметры:
-display — выводит полные имена найденных учетных записей;
-desc — выводит описания найденных учетных записей;
-dn — выводит DN найденных учетных записей;
-empid — выводит идентификаторы сотрудников из найденных учетных записей;
-fn — выводит имена пользователей из найденных учетных записей;
-samid — выводит имена учетных записей в SAM для найденных учетных записей;
-sid — выводит идентификаторы защиты из найденных учетных записей;
-disabled — выводит значение Yes/No (Да/Нет), указывающее, отключена ли данная учетная запись.

dsquery user -name * -limit 0 | dsget user -display -samid >C:\list_login.txt
Вывод:
ivan Иван Иванович Петров
semen Семен Семенович Скоробуба



пятница, 24 марта 2017 г.

linux backup mysql ftp

Скрипта бэкапа:
Делаем дамп базы MySQL и укладываем его и еще  каталог с сайтом в архив, при этом в параметрах указываем какие каталоги пропускать. Потом устанавливаем соединение с FTP сервером и копируем наш архив на удаленный сервер.

#!/bin/bash
to_cat=/backup/wordpress
web_cat=/var/www/*
date_time=`date +"%Y-%m-%d_%H-%M"`
/usr/bin/mysqldump -uUser -pPassword DataBase> $to_cat/mysql_$date_time.sql
/bin/tar -czf $to_cat/arh_$date_time.tar.gz $web_cat  $to_cat/mysql_$date_time.sql --exclude '/var/www/forum' --exclude '/var/www/old' --exclude '/var/www/zakaz'  > /dev/null 2>&1
rm $to_cat/mysql_$date_time.sql
# удалении копий, которые старше 3 дней
find $to_cat -name '*.gz' -mtime +3 -delete
#копирование резервного архива на удаленный FTP-сервер
ftpuser='user'
password='Password'
ftpserver='192.168.1.1'
#Переходим в папку где лежать архивные копии
cd /backup/wordpress
dir
ftp -in $ftpserver << EOF
user $ftpuser $password
bin
passive
#переходим в папку на фтп
cd wordpress
mput arh_$date_time.tar.gz
quit
EOF

вторник, 21 января 2014 г.

Как сделать из микротика Switch


Допустим у нас есть Mikrotik, и по каким-либо причинам нам надо его подключить к локальной сети, чтобы он работал как switсh (коммутатор), не только при подключении к нему по проводу, но и по wifi. Делается это довольно просто: нужно назначить сетевым интерфейсам мастер порт ether1 и настроить мост. Если в локальной сети есть DHCP сервер, то wifi клиенты получат ip-адреса от него.
1. Сбрасываем настройки:

  • Выключить питание
  • Зажать кнопку Reset и держать;
  • Включить питание;
  • Дождаться мигания индикатора ACT. Роутер перезагрузится с настройками по умолчанию;
  • Подключиться через Winbox, выбрать Remove Configuration


2. Переходим в раздел Interfaces, устанавливаем для всех (ether2, ether3, ether4, ether5) сетевых интерфейсов кроме первого MasterPort ether1 (Первый интерфейс).


3. Переходим в раздел Bridge, создаем bridge и добавляем в него два порта ether1 и wlan1.


4. Переходим в раздел IP. Проверяем подразделы Addresses, DHCP, DNS, Firewall, Routes они должны быть пустыми, т.е не должно быть маршрутов, назначенных ip-адресов и др. Если в локальной сети имеется DHCP сервер, то DHCP можно не настраивать.
5. Настраиваем Wifi.








понедельник, 20 января 2014 г.

Удаление в заданной папке всех фалов и подпапок

Скрипт был взят тут
vbscript:
Main
 
Sub Main
                Dim oFSO
                Dim sDirectoryPath
                Dim oFolder
                Dim oDelFolder
                Dim oFileCollection
                Dim oFile
                Dim oFolderCollection
 
                Set oFSO = CreateObject("Scripting.FileSystemObject")
                sDirectoryPath = "C:\ЗДЕСЬ\ТВОЙ\ПУТЬ\К_ПАПКЕ"
                set oFolder = oFSO.GetFolder(sDirectoryPath)
                set oFolderCollection = oFolder.SubFolders
                set oFileCollection = oFolder.Files
 
                For each oFile in oFileCollection
                               oFile.Delete(True)
                Next
 
                For each oDelFolder in oFolderCollection
                                oDelFolder.Delete(True)
                Next
 
                Set oFSO = Nothing
                Set oFolder = Nothing
                Set oFileCollection = Nothing
                Set oFile = Nothing         
 
End Sub

nnbackup + синхронизация

Синхронизация фалов с помощью nnbackup. Свежая версия скачать nnbackup.
Bat script:
@echo off
rem ITvolna Январь 2014г
rem При создании задачи в "шедулере" важно указать рабочий каталог!
rem  Однонаправленная синхронизация директории w:\Departments\

rem Синхронизация проводиться одну сторону (новые и измененные файлы копируются из исходного каталога в приемный - команда sync). PS: что бы в две стороны (сначала новые и измененные файлы копируются из исходного каталога в приемный, а затем, наоборот, из приемного каталога в исходный - команда sync2).
:: -i папка источник
:: -ad - копировать в приемный каталог не только все новые файлы из исходного каталога и все файлы с более "новой" датой создания или модификации, но и файлы, чья дата создания/модификации изменилась в противоположную сторону или не изменилась вовсе, но при этом изменился размер файла;
:: -da -удалять в приемном каталоге файлы, отсутствующие в исходном каталоге. Удаление происходит после завершения копирования новых и обновленных файлов;
:: -s учитывать вложенные каталоги;
:: -o приемный каталог;
:: -e копировать пустые каталоги;
:: -sa Копировать права NTFS
:: -c игнорировать файловые ошибки при копировании;
:: -v отображать пути копируемых фалов на консоли
:: -x Исключить файлы и каталоги из списка
:: -dx @Exception_departments.txt - список исключений
:: -log - запись вывода в лог-файл.

rem Исходный каталог
set SOURCEDIR=w:\Departments\
::set SOURCEDIR=\\?\w:\Departments
rem Приемный каталог
set BACKUPDIR=\\192.168.1.9\d$\Backup\Departments
"c:\Program Files\nnBackup\nnbackup.exe" sync -i "%SOURCEDIR%"  -o "%BACKUPDIR%" -s -e -sa -ad -da -c -v -dx @Exception_departments.txt -log "C:\Program Files\scripts\nnbackup\log\Departments_%DATE%.log"
exit

среда, 11 декабря 2013 г.

7zip backup

Первый скрипт
@echo off
rem скрипт бэкапа
::Что архивировать
set out=D:\Buhgalteria\
::Путь копирования на сервер хранения
set puth_srv=\\srv\r$\Buhgalteria\

:: Описание парметров-  a - ключ создания архива; -mx9 - степень сжатия архива;
:: -ssw - позволяет архивировать открытые для чтения файлы
:: -mx0 - без компрессии; -mx1 - очень быстрая компрессия; -mx3 - быстрая нормальная компрессия;
:: -mx5 - нормальная компрессия; -mx7 - максимальная компрессия; -mx9 - Ультра компрессия;
:: -mmt-4 число потоков или -mmt=on
:: Упаковываем и копируем по сети
start /wait "BackUP Buhgalteria" /min  "c:\Program Files\7-zip\7z.exe" a -t7z -ssw -mx3 -mmt=4 "%puth_srv%\Buhgalteria_%DATE%.7z" "%out%"
exit

Второй скрипт
@echo off
::Удаляем бэкапы старше 7 дней
forfiles.exe /P r:\servers_backup\muradm\Buhgalteria\ /S /M *.* /D -8 /C "cmd /c del /q /f @FILE"
exit

вторник, 10 декабря 2013 г.

Удаление backup старше 7 дней

@echo off
::Удаляем бэкапы старше 7 дней
forfiles.exe /P r:\week_backup_sql\ /S /M *.* /D -7 /C "cmd /c del /q /f @FILE"
exit