WinSCP sync ftp или Zback

I Вариант

Для синхронизации локальной папки с FTP сервером можно использовать связку WinSCP + bat

Script file

Assemble the commands into a script file. You can name the script file as you like. See simple example and some useful scripts.

Use the /script command line option to pass the script to the WinSCP executable. Generally, you should also use /ini=nul switch to isolate the script execution from GUI configuration. You can embed the complete command line into a Windows batch file (.bat или .cmd), like as follows:

@echo off
winscp.com /ini=nul /script=myscript.txt

myscript.txt содержание:

option batch abort
option confirm off
open ftp://nameuser:password@ftp.my.ru
synchronize remote -criteria=time C:\Бухгалтерия /C:/ftp/Бухгалтерия
Для запуска cmd в скрытом режиме, использую vbs скрипт:
Option Explicit
dim path, WshShell

' задаем путь к рабочей папке
path = "c:\setup\ftp\" 

' Создаем ссылку на объект WscriptShell
set WshShell = WScript.CreateObject("Wscript.Shell") 

' Открываем консоль и запускаем наш cmd(Wshshell Run)
WshShell.Run "cmd.exe /c c:\setup\ftp\winscpsync.cmd", 2,true

, здесь — WshShell.Run «cmd.exe /c c:\setup\ftp\winscpsync.cmd», 0,true — скрыто
WshShell.Run «cmd.exe /c c:\setup\ftp\winscpsync.cmd», 2,true — свернутый запуск консоли

 

sync.vbs запускаю в планировщике

II Вариант (глючный)

ZBack + bat

C:\Zback\zback.exe c:\setup\ftp\buh.bal /R

buh.bal содержание:

# - новый -
#'Синхронизация 
C:\Бухгалтерия\*.* > V:\Бухгалтерия /Us

Fedora 30. Настройка сети, отключение ipv6

1. Устанавливаем статический  IP адрес на сервер. ( Замените [ens2] на свое наименование сетевого интерфейса )

# set hostname

[root@localhost ~]#

hostnamectl set-hostname dlp.srv.world
# display devices

[root@localhost ~]#

nmcli device
DEVICE  TYPE      STATE      CONNECTION
ens2    ethernet  connected  ens2
lo      loopback  unmanaged  --

# set IPv4 address

[root@localhost ~]#

nmcli connection modify ens2 ipv4.addresses 10.0.0.30/24
# set gateway

[root@localhost ~]#

nmcli connection modify ens2 ipv4.gateway 10.0.0.1
# set DNS

[root@localhost ~]#

nmcli connection modify ens2 ipv4.dns 10.0.0.1
# set manual for static setting (it’s [auto] for DHCP)

[root@localhost ~]#

nmcli connection modify ens2 ipv4.method manual
# restart the interface and reload the settings

[root@localhost ~]#

nmcli connection down ens2; nmcli connection up ens2
Connection 'ens2' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/1)
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)

# show settings

[root@localhost ~]#

nmcli device show ens2
GENERAL.DEVICE:                         ens2
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         52:54:00:C8:09:F8
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ens2
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveC
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         10.0.0.30/24
IP4.GATEWAY:                            10.0.0.1
IP4.ROUTE[1]:                           dst = 10.0.0.0/24, nh = 0.0.0.0, mt = 1
IP4.ROUTE[2]:                           dst = 0.0.0.0/0, nh = 10.0.0.1, mt = 100
IP4.DNS[1]:                             10.0.0.1
IP6.ADDRESS[1]:                         fe80::5054:ff:fec8:9f8/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, tabl

# show state

[root@localhost ~]#

ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: ens2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:c8:09:f8 brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.30/24 brd 10.0.0.255 scope global noprefixroute ens2
       valid_lft forever preferred_lft forever
    inet6 fe80::5054:ff:fec8:9f8/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

2. Отключить IPv6, если не нужен, можно так:

[root@localhost ~]#

vi /etc/default/grub
# line 7: add

GRUB_CMDLINE_LINUX=»

ipv6.disable=1

resume=/dev/mapper/fedora-swap…..

# apply changes

[root@localhost ~]#

grub2-mkconfig -o /boot/grub2/grub.cfg

[root@localhost ~]#

DNS Redirection on MikroTik for your office domain

Для того, чтобы из офиса одного разрешались имена внутренней сети домена в другом офисе, помогла следующая подсказка. На микротике настраивалось. Офис соединен по L2TP с серверной, и теперь видит внутренние имена серверов.

Mikrotik site-to-site L2TP + Split DNS

So I got sick and tired of adding hostnames for each and every internal server’s IP address at my home…

I finally came up with a few MikroTik firewall rules that would allow you to resolve and reverse DNS lookup internal names from your office’s DNS server, while performing ALL other DNS queries from your default (ISP) DNS servers.

For example, my setup looks as follow:

  • My office is using the *.mydomain.co.za domain name for all our servers
  • Most of our servers share public IP addresses, but each one of them have unique internal IP addresses (192.168.*.*). I need access to the internal IP addresses, because SSH is only enabled from inside
  • The DNS server is hosted on 192.168.0.1

My primary DNS server on my home MikroTik is Google’s DNS server: 8.8.8.8

For instance if I’ll try and lookup www.kalahari.net, then my MikroTik will query it from 8.8.8.8
Whenever I try to lookup anything.mydomain.co.za, then the Layer-7 regular expression matches and then the DNS query is forwarded to my office’s DNS server, which will respond with like 192.168.0.2 IP address. Without the rule, I would’ve gotten something like 41.168.1.123 and then not be able to get SSH access to anything.mydomain.co.za.
The regular expression would also match the reverse DNS lookups (192.168.*.* — please take note that the IP range is in reverse in the regular expression), like when I would lookup 192.168.0.3, it would also forward the DNS lookup to my office’s DNS server and reply with like myhost.mydomain.co.za, instead of ‘Non-existent domain’ that 8.8.8.8 would give me.

Code:
/ip firewall layer7-protocol
add name="MyDomain DNS" regexp=\
    "mydomain.co.za|[0-9]+.[0-9]+.168.192.in-addr.arpa"

/ip firewall nat
add action=masquerade chain=srcnat comment="NAT to MyDomain DNS" disabled=no dst-address=192.168.0.1/32 dst-port=53 \
    protocol=udp
add action=dst-nat chain=dstnat disabled=no dst-address-type=local dst-port=53 layer7-protocol="MyDomain DNS port forward" \
    protocol=udp to-addresses=192.168.0.1 to-ports=53

If you’re using those rules, please remember to change:

  1. the mydomain.co.za, with your own office’s internal hostnames/domain.
  2. the 192.168.0.1 IP address with your DNS server address of your office
  3. [0-9]+.[0-9]+.168.192 part of the regular expression with the reverse of your office’s internal IP range. Like [0-9]+.[0-9]+.168.192 is the reverse of 192.168.[0-9]+.[0-9] aka 192.168.*.*

I hope this is useful to some of you guys out there who are using VPN connections to your office :D

Off-Topic:
We have Neotel Neobroadband 5Mbps Fiber at our office, but we had endless issues with it, where a reset of the Cisco router fixed it. Luckily the colleague of mine had a network diagram (with the VLAN tags), so we simply removed our Cisco router (that Neotel gave us) and plugged it in directly on our MikroTik RB1100 and now our Internet is pumping again.

 

Источник
преИсточник

Список пользователей FreeBSD

#список юзверей
grep -v "^#" /etc/passwd|awk -F : '{print $1}'|sort

#шелы и юзвери
grep -v "^#" /etc/passwd|awk -F : '{print $7"\t"$1}'|sort

1C виснет поиск

1С 8.3 : Перестал работать поиск в документах, справочниках и журналах

Открыли документ Счет, в поле Контрагент набираете первую букву & поиск осуществляется, набираете вторую (третью) букву и список становится пустым — это слетел индекс полнотекстового поиска, его нужно обновить:

Главное меню — Все функции — Стандартные — Управление полнотекстовым поиском

Если Пункт меню Все функции недоступен, то включить его можно в меню Сервис — Параметры — Показывать Все функции

или такой вариант:

Меню — Администрирование — Поддержка и обслуживание — Регламентные операции — Полнотекстовый поиск данных — Настроить — Очистить индекс — Обновить индекс

Читать далее «1C виснет поиск»

ЗУП 8.3 как завести пользователя с правами только чтение (только просмотр)

поиск дал решение очень простое:
1. Администрирование — Настройки пользователей и прав — Пользователи — Создать, полное имя — Аудитор, имя для входа — Аудитор, Записать и закрыть.
2. Администрирование — Настройки пользователей и прав — Группы доступа — Группы доступа — Создать: наименование — Аудиторы, профиль — Аудитор(т.е. уже предустановлен по-умолчанию), Записать, Участники группы — Подобрать — Аудитор (или другого пользователя, кому надо ограничить права) — «>» — Завершить и закрыть — Записать и закрыть.
PS заводить пользователя — в режиме Предприятие. в конфигураторе он создастся автоматически, и так же автоматически заполнятся флажки с ролями.

XMPP на сайт

Модификация JWChat для обеспечения сервиса онлайн-консультации

Для многих организаций всё более актуальным становится вопрос упрощения и ускорения двустороннего взаимодействия с клиентами посредством ИТ. На корпоративных сайтах, как правило, можно встретить номера телефонов, адреса электронной почты, контакты менеджеров в различных системах сообщений, какую-либо разновидность гостевой книги (что то вроде «задать вопрос») и, в лучшем случае, форум.

Перед нами вопрос: каким образом можно обеспечить клиенту, зашедшему на сайт, удобную форму отправки вопроса и получение ответа «не отходя от кассы».

Предоставление контактов в популярных системах мгновенных сообщений не является для нас решением задачи, так как для ответа может потребоваться несколько людей (менеджеров, технических специалистов, экономистов). Да и внешний вид странички с «аськами» менеджеров идёт не на пользу представительскому имиджу организации. Большинство обычных пользователей не захотят ничего слышать о регистрации на форуме или в корпоративной системе сообщений, так как не рассчитывают на долгосрочное партнёрство или просто им легче набрать номер телефона.

Существует замечательная система онлайн-поддержки LiveZilla, которая однако предполагает наличие специального софта у операторов исключительно под ОС Windows. Внутренняя система сообщений в нашем предприятии организована с помощью XMPP, и не хотелось что то менять или нагружать менеджеров дополнительным программным средством. Внешние пользователи тоже могут подключаться и задавать вопросы в отдельной конференции, но это не пользуется популярностью (что не удивительно).

Таким образом, было принято решение разместить на сайте XMPP-клиент на Javascript. После прочтения нескольких обзоров (в том числе на Хабре) и практического изучения таких клиентов, я решил использовть для этой цели JWChat.

Реализация

Вновь установленный JWChat на начальной странице предлагает авторизоваться, либо зарегистрироваться.

JWChat

Как я уже писал выше, обязательная регистрация отобьёт желание к общению у большинства посетителей сайта. В JWChat на этот случай предусмотрена возможность гостевого входа. Прописываем в файле config.js нужные нам параметры:

var GUEST_ACC = "client";
var GUEST_PWD = "pass";

Так как учётная запись гостевая, то ничего страшного, что пароль будет в открытом виде. Возможность подключения нескольких клиентов сохраняется, так как к ресурсу добавляется случайное число в диапазоне от 0 до 999.

После авторизации открывается отдельное окно браузера, содержащее ростер. Понятно, что в нашем случае оно совершенно ни к чему. После присоединения к конференции открывается ещё одно окно для отображения чата, в свою очередь состоящее из четырёх фреймов. Это, собственно, и будет полезной областью, которая нужна пользователю.

JWChat


Очевидно, что удобство и эстетичность интерфейса в данном случае никуда не годны. Кроме того, если настроить для гостевой записи автовход в нужную конференцию, второе всплывающее окно будет заблокировано большинством браузеров с настройками по умолчанию.

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

Таким образом, на странице онлайн-консультации я расположил все необходимые элементы с помощью фреймов и объединил скрипты, выполняемые в трёх отдельных окнах в один код, устранив конфликты некоторых переменных и функций. Ссылки на отдельные окна были заменены ссылками на фреймы нового окна.

Процедура авторизации под гостевой записью выполнялась сразу при событии onload в уже существующей функции init(). Я решил не переделывать кардинально HTML-код (так как это повлекло бы значительные изменения и кода Javascript), а лишь настроить CSS и убрать все ненужные элементы с помощью свойства display:none и нулевой ширины одного из фреймов.

После авторизации происходит автоматическое подключение к нужной конференции (можно настроить на сервере или в закладках гостевого пользователя с помощью полноценного XMPP-клиента). С помощью диалога prompt у пользователя запрашивается имя. Если имя по какой-либо причине не было введено, то вместо него присваивается номер от 0 до 999. Дополнительно к имени я добавляю префикс и постфикс, одинаковые для всех пользователей.

Использование

Учитывая невысокую посещаемость и специфику нашего сайта, было удивительно наблюдать достаточно большое количество вопросов, заданных с помощью нового сервиса (в том числе даже от иностранцев). Пока все клиенты остались довольны нововведением, что не стеснялись с помощью него же и сообщать. Кроме того, пользователи теперь не только задают вопросы, а сразу договариваются с сотрудниками обо всём и даже знакомятся с коллегами по профессии.

Стоит отметить, что в конференции для клиентов в рабочие часы постоянно находятся несколько наших сотрудников (подключенных через полноценный XMPP-клиент): менеджеры и специалисты для быстрого ответа, начальство — для контроля, а некоторые — просто из интереса. Таким образом, пользователь получает удобный и быстрый способ взаимодействия с нами прямо через свой браузер, менеджеры — новый источник потенциальных покупателей, а начальство и служба безопасности — прозрачность диалога с клиентом.

JWChat

RDP — «Программы»

В Windows 10 в свойствах ярлыка удаленного доступа отсутствует закладка «Программы». Настроить можно в gpedit.msc — Конфигурация пользователя — Административные шаблоны- Компоненты Windows — Служба удалённых рабочих столов — Узел сеансов удалённых рабочих столов — Запускать программу при подключении. Или блокнотом отредактировать.

Коммутация мощных нагрузок

Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.

Традиционная дилемма здесь — чем, собственно, коммутировать. Как убедились многие на своём печальном опыте, китайские реле не обладают должной надёжностью — при коммутации мощной индуктивной нагрузки контакты сильно искрят, и в один прекрасный момент могут попросту залипнуть. Приходится ставить два реле — второе для подстраховки на размыкание.

Вместо реле можно поставить симистор или твердотельное реле (по сути, тот же тиристор или полевик со схемой управления логическим сигналом и опторазвязкой в одном корпусе), но у них другой минус — они греются. Соответственно, нужен радиатор, что увеличивает габариты конструкции.

Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:

  • Гальваническая развязка входа и нагрузки
  • Коммутация индуктивных нагрузок без выбросов тока и напряжения
  • Отсутствие значимого тепловыделения даже на максимальной мощности

Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.

Классическая схема — подключаем пылесос через обычное реле. Потом подключаем к пылесосу осциллограф (Осторожно! Либо осциллограф, либо пылесос — а лучше оба — должны быть гальванически развязаны от земли! Пальцами и яйцами в солонку не лазить! С 220 В не шутят!) и смотрим.

Включаем:

Пришлось почти на максимум сетевого напряжения (пытаться привязать электромагнитное реле к переходу через ноль — задача гиблая: оно слишком медленное). В обе стороны бабахнуло коротким выбросом с почти вертикальными фронтами, во все стороны полетели помехи. Ожидаемо.

Выключаем:

Резкое пропадание напряжения на индуктивной нагрузке не сулит ничего хорошего — ввысь полетел выброс. Кроме того, видите вот эти помехи на синусоиде за миллисекунды до собственно отключения? Это искрение начавших размыкаться контактов реле, из-за которого они однажды и прикипят.

Итак, «голым» реле коммутировать индуктивную нагрузку плохо. Что сделаем? Попробуем добавить снаббер — RC-цепочку из резистора 120 Ом и конденсатора 0,15 мкФ.

Включаем:

Лучше, но не сильно. Выброс сбавил в высоте, но в целом сохранился.

Выключаем:

Та же картина. Мусор остался, более того, осталось искрение контактов реле, хоть и сильно уменьшившееся.

Вывод: со снаббером лучше, чем без снаббера, но глобально проблемы он не решает. Тем не менее, если вы желаете коммутировать индуктивные нагрузки обычным реле — ставьте снаббер. Номиналы надо подбирать по конкретной нагрузке, но 1-Вт резистор на 100-120 Ом и конденсатор на 0,1 мкФ выглядят разумным вариантом для данного случая.

Литература по теме: Agilent — Application Note 1399, «Maximizing the Life Span of Your Relays». При работе реле на худший тип нагрузки — мотор, который, помимо индуктивности, при старте имеет ещё и очень низкое сопротивление — добрые авторы рекомендуют уменьшить паспортный ресурс реле в пять раз.

А теперь сделаем ход конём — объединим симистор, симисторный драйвер с детектированием нуля и реле в одну схему.

Что есть на этой схеме? Слева — вход. При подаче на него «1» конденсатор C2 практически мгновенно заряжается через R1 и нижнюю половину D1; оптореле VO1 включается, дожидается ближайшего перехода через ноль (MOC3063 — со встроенной схемой детектора нуля) и включает симистор D4. Нагрузка запускается.

Конденсатор C1 заряжается через цепочку из R1 и R2, на что уходит примерно t=RC ~ 100 мс. Это несколько периодов сетевого напряжения, то есть, за это время симистор успеет включиться гарантированно. Далее открывается Q1 — и включается реле K1 (а также светодиод D2, светящий приятным изумрудным светом). Контакты реле шунтируют симистор, поэтому далее — до самого выключения — он в работе участия не принимает. И не греется.

Выключение — в обратном порядке. Как только на входе появляется «0», C1 быстро разряжается через верхнее плечо D1 и R1, реле выключается. А вот симистор остаётся включённым примерно 100 мс, так как C2 разряжается через 100-килоомный R3. Более того, так как симистор удерживается в открытом состоянии током, то даже после отключения VO1 он останется открытым, пока ток нагрузки не упадёт в очередном полупериоде ниже тока удержания симистора.

Включение:

Выключение:

Красиво, не правда ли? Причём при использовании современных симисторов, устойчивых к быстрым изменениям тока и напряжения (такие модели есть у всех основных производителей — NXP, ST, Onsemi, etc., наименования начинаются с «BTA»), снаббер не нужен вообще, ни в каком виде.

Более того, если вспомнить умных людей из Agilent и посмотреть, как меняется потребляемый мотором ток, получится вот такая картинка:

Стартовый ток превышает рабочий более чем в четыре раза. За первые пять периодов — то время, на которое симистор опережает реле в нашей схеме — ток падает примерно вдвое, что также существенно смягчает требования к реле и продлевает его жизнь.

Да, схема сложнее и дороже, чем обычное реле или обычный симистор. Но часто она того стоит.

https://habr.com/ru/company/unwds/blog/390601/

Транляция с телефона

Для того чтобы в винде появилась видеокамера, которая будет забирать поток с телефона и передавать в ПО(teamviwer, skype), использую IP Cam adapter в качестве виртуальной вебкамеры.

Чтобы из телефона сделать IP камеру и создать видеотрансляцию, ставим на него IP Webcam:

На комп ставим адаптер(домашняя страница), который будет выполнять функцию видеокамеры. Путь к трансляции задать http://ip:port/video

Яндекс.Метрика