По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Вот вы пользователь Linux машины. И вот вам захотелось запустить какую-нибудь команду только на определенное время, и вы задаете вопрос - как это сделать? А вот как - использовать команду timeout. Как взять timeout - об использовании команды Базовый синтаксис Как и следовало ожидать, синтакс у команды экстремально прост: сама команда timeout - опции - длительность выполнения (можно даже с единицами измерения) - целевая команда Единицы измерения для указания длительности: s - секунды (­стоит по умолчанию) m - минуты h - часы d - дни Если вы не укажете никакого параметра по длительности, команда не будет активирована. Примеры команд: timeout 5 ping 1.1.1.1 - пингуем 1.1.1.1 5 секунд timeout 5m ping 1.1.1.1 - пингуем 1.1.1 5 минут timeout 5.5h ping 1.1.1.1 - 5,5 часов пингуем 1.1.1 Если у вас есть необходимость, можно запустить команду с добавкой sudo (если для целевой команды требуются права суперпользователя): sudo timeout 100 tcpdump -n -w dump.pcap Сообщение с космосом или отправка определенного сигнала исполняемому процессу Если вы не указали какой-то особый сигнал, по умолчанию передается SIGTERM (сигнал о том, что надо бы мягко терминировать процесс). Однако, если вы укажете ключ -s после команды timeout, вы можете указать любой другой допустимый сигнал. К примеру: sudo timeout -s SIGKILL ping 1.1.1.1 или sudo timeout -s 9 ping 1.1.1.1 Обе команды выше идентичны, и если вы хотите увидеть весь список сигналов, просто введите kill -l Как убить процесс, если он завис Как вы уже поняли, SIGTERM - это сигнал, который отправляется после истечения таймаута, но он легко может быть проигнорирован процессом, и тогда процесс не остановится. Для уверенности в смерти процесса, нужно использовать ключ -k и некое временное значение. Тогда после окончания таймаута будет отправляться сигнал SIGKILL, который процесс не сможет проигнорировать при всем желании. В примере ниже команда выполняется одну минуту, и, если в течение 10 секунд после окончания таймаута она не "умирает", отправляется сигнал SIGKILL и "добивает" процесс: sudo timeout -k 10 1m ping 1.1.1.1 Сохраняем статус Команда timeout всегда возвращает значение 124 после истечения указанного времени или возвращает статус "exit" управляемой команды (той, что вы вводите после команды timeout). Таким образом, вы можете использовать ключ --preserve-status: timeout --preserve-status 10 ping 1.1.1.1 Запуск команды явно, а не за кулисами По умолчанию, timout работает в бэкграунде, и если вы хотите обратного (вдруг после запуска управляемой команды потребуется какой-нибудь пользовательский ввод), нужно использовать ключ -foreground: timeout --foreground 10m ./bestscripteva.sh Заключение В 99% процентов случаев команда timeout требует всего двух аргументов и ни одного факта: времени исполнения и самой исполняемой команды. Однако, вы теперь знаете и другие фишки использования этой замечательной команды.
img
В данной статье рассмотрим процесс настройки интеграции ip-телефонии Asterisk и CRM Битрикс24 посредством модуля интеграции Itgrix (ранее называлось bx24asterisk). Перечислим возможности которые станут доступны после настройки данной интеграции: В момент вызова открывается карточка клиента с именем и информацией о текущих сделках с этим клиентом. Автоматически создается лид для неизвестного номера. Для лида или контакта в CRM создается дело (оно же звонок), в нем можно прослушать запись разговора и увидеть его длительность. Можно указать разные источники лидов для сквозной аналитики, в зависимости от того на какой из номеров телефона вам позвонили. Автоматическое направление входящих вызовов на ответственного за клиента сотрудника. Модуль состоит из двух частей: портальное приложение и серверное приложение, которое нужно установить на сервер с Asterisk. Установка приложения в Битрикс Заходим в меню Приложения, в поиске набираем Астериск, находим приложение Интеграция с Asterisk от компании Айтигро. Кликаем по названию приложения, нажимаем Попробовать, соглашаемся с лицензионным соглашением и политикой конфиденциальности и нажимаем Установить. После установки появится окно входа в настройки модуля, пока закроем его, ведь у нас еще нет серверной части приложения. Заходим в Приложения - переходим на вкладку Установленные, находим там приложение Интеграция с Asterisk, нажимаем на кнопку Права доступа, выбираем раздел Другое, добавляем роль Все авторизованные пользователи, нажимаем Выбрать. Установка приложения на сервер Asterisk. Заходим на сервер по ssh, скачиваем скрипт установки модуля интеграции wget 'https://bx24asterisk.ru/download/autoinstaller.sh' Запускаем скрипт командой: bash autoinstaller.sh Cкрипт сам определит разрядность системы и установит подходящую версию. В конце установки нужно будет ввести логин и пароль для дальнейшего входа в web интерфейс с настройками модуля. Дальнейшую установку можно производить из web интерфейса доступного по адресу https://ipasterisk:8078/config/master При входе в web интерфейс нужно ввести логин и пароль который мы указали при установке приложения на сервер. Выбираем язык Данные для подключения к базе данных модуль найдет и подставит сам, нажимаем проверить Warning в графе CEL означает что в таблицу CEL больше часа не записывались события звонков, такое может быть либо, если запись вCEL не осуществляется Asterisk’ом и нужно это настроить, либо просто давно не было звонков. Далее подключаемся к Asterisk. Выбираем существующего пользователя либо создаем Нового. Через него модуль будет взаимодействовать с AMI Asterisk’а. Для нового - вводим пароль для пользователя bx24, модуль сам создаст пользователя. Проверяем. Указываем где и в каком формате хранятся файлы записей Указываем данные для подключения к порталу Битрикс24. Учетная запись должна обладать правами администратора в портале, через нее модуль будет работать с Битрикс24. Проверяем. Далее описываем часть логики в Битрикс24 Указываем параметры логики CRM. В зависимости от того, в каком режиме у Вас работает CRM (с лидами или без). Указываем как будем осуществлять звонки кликами по номеру в CRM: Использовать Click2call сервер - команды для звонков будут передаваться на модуль через сервер разработчика; Либо можно указать внешний ip адрес Asterisk (адрес роутера, за которым находится Asterisk) и пробросить порт 8077 до сервера с Asterisk. Команда из Битрикса на будет передавать на этот порт и обрабатываться модулем. Сохраняем. Попадаем на страницу с результатами всех проверок Другая часть бизнес-логики В результате должно получиться вот так: при входящем или исходящем звонке показывается карточка звонка: После завершения звонка в лиде создается звонок. При пропущенном входящем звонке создается задача.
img
ClamAV является антивирусом с открытым исходным кодом. Его используют для обнаружения вирусов, вредоносных программ и вредоносного программного обеспечения на компьютерах под управлением Linux и даже в решениях именитых вендоров, так как эта разработка была выкуплена компанией Cisco, но все же оставлена в виде open-source. Угроза со стороны вирусов, троянов и других вредоносных программ всегда возможна, их количество растет в геометрической прогрессии как по количеству, так и по сложности, и антивирусное программное обеспечение всегда должно использовать сложные методы обнаружения. Никогда нельзя дать гарантии, что ваша система не станет жертвой этих нежелательных фрагментов кода, так что важно оставаться внимательным при использовании Интернета и совместном использовании файлов. Ну и отсюда вытекает необходимость реализации политик безопасности на основе здравого смысла и использовании современных антивирусных программ. Установка ClamAV Чтобы установить ClamAV в CentOS / RHEL 7, нам нужно установить репозиторий EPEL: # yum install epel-release Затем необходимо установить ClamAV со всеми его полезными инструментами: # yum -y install clamav-server clamav-data clamav-update clamav-filesystem clamav clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd Настройка антивируса ClamAV Для настройки ClamAV в первую очередь нам нужно удалить конфигурацию по умолчанию, чтобы создать свою: # sed -i '/^Example/d' /etc/clamd.d/scan.conf После удаления строк примера нужно сделать некоторые правки, чтобы определить тип сервера TCP и предоставить root права для запуска антивируса: # vim /etc/clamd.d/scan.conf Значение, данное с LocalSocket, является файлом, использующим связи с внешними процессами. Следует выполнить следующую строку: LocalSocket /var/run/clamd.scan/clamd.sock Добавляем эти две строки в конец файла и сохраняем: User root LocalSocket /var/run/clamd.<SERVICE>/clamd.sock Чтобы поддерживать базу данных сигнатур ClamAV в актуальном состоянии, необходимо включить инструмент под названием Freshclam. Поэтому нужно создать файл резервной копии из его файла конфигурации: # cp /etc/freshclam.conf /etc/freshclam.conf.bak Freshclam читает свою конфигурацию из /etc/freshclam.conf. Файл содержит строку со словом Пример, чтобы пользователи не могли использовать значения по умолчанию, их необходимо удалить их или закомментировать, прежде чем сможем использовать freshclam. А так как не все настройки по умолчанию не подходят для наших целей, придется внимательно проверить файл и решить, что нам понадобится. Каждая команда также будет прокомментирована. # sed -i '/^Example/d' /etc/freshclam.conf Нам нужно запустить Freshclam, чтобы обновить базу данных и проверить, успешно ли задана конфигурация: # freshclam ClamAV update process started at Tue Nov 6 15:51:59 2018 WARNING: Can't query current.cvd.clamav.net WARNING: Invalid DNS reply. Falling back to HTTP mode. Reading CVD header (main.cvd): OK (IMS) main.cvd is up to date (version: 58, sigs: 4566249, f-level: 60, builder: sigmgr) Reading CVD header (daily.cvd): OK Downloading daily-25006.cdiff [100%] Downloading daily-25092.cdiff [100%] Downloading daily-25093.cdiff [100%] Downloading daily-25094.cdiff [100%] Downloading daily-25095.cdiff [100%] daily.cld updated (version: 25095, sigs: 2143057, f-level: 63, builder: neo) Reading CVD header (bytecode.cvd): OK bytecode.cvd is up to date (version: 327, sigs: 91, f-level: 63, builder: neo) Database updated (6709397 signatures) from database.clamav.net (IP: 104.16.186.138) Процесс выводит свой прогресс-бар в терминал, и вы можете увидеть несколько сообщений об ошибках. Например, он может сообщить, что ему не удалось загрузить нужный файл. Не паникуйте - freshclam попробует несколько зеркал. Он сообщает, что main.cvd, daily.cvd и bytecode.cvd обновляются, и по завершении, вы будете знать, что у вас есть последние сигнатуры. Мы можем запустить freshclam в любое время, когда необходимо убедиться, что базы данных сигнатур обновлены, но было бы неудобно всегда запускать его вручную. При запуске с аргументом -d freshclam будет работать и периодически проверять наличие обновлений в течение дня (по умолчанию каждые два часа). Чтобы сохранить некий порядок в системе, мы создали файл службы для запуска freshclam и зарегистрировали его в systemd: # vim /usr/lib/systemd/system/clam-freshclam.service Затем мы помещаем следующий код в файл и сохраняем его: [Unit] Description = freshclam scanner After = network.target [Service] Type = forking ExecStart = /usr/bin/freshclam -d -c 4 Restart = on-failure PrivateTmp = true RestartSec = 20sec [Install] WantedBy=multi-user.target Раздел [Unit] определяет основные атрибуты сервиса, такие как его описание и его зависимость от сетевого соединения. Раздел [Service] определяет сам сервис, ExecStart будет запускать freshclam с аргументом -d, Type сообщает systemd, что процесс будет разветвляться и запускаться в фоновом режиме, а при перезапуске systemd отслеживает сервис и перезапускает его автоматически в случае. Раздел [Install] определяет, как он будет связан, когда запустится systemctl enable. Перезагрузите systemd, чтобы применить изменения: # systemctl daemon-reload Далее запустите и включите сервис freshclam: # systemctl start clam-freshclam.service # systemctl status clam-freshclam.service clam-freshclam.service - freshclam scanner oaded: loaded (/usr/lib/systemd/system/clam-freshclam.service; disabled; vendor preset: disabled) Active: active (running) since Tue 2018-11-06 15:56:53 IST; 3s ago Process: 7926 ExecStart=/usr/bin/freshclam -d -c 4 (code=exited, status=0/SUCCESS) Main PID: 7927 (freshclam) CGroup: /system.slice/clam-freshclam.service L-7927 /usr/bin/freshclam -d -c 4 Nov 06 15:56:53 node2.example.com systemd[1]: Starting freshclam scanner... Nov 06 15:56:53 node2.example.com systemd[1]: Started freshclam scanner. Nov 06 15:56:53 node2.example.com freshclam[7927]: freshclam daemon 0.100.2 (OS: linux-gnu, ARCH: x86_64, CPU: x86_64) Nov 06 15:56:53 node2.example.com freshclam[7927]: ClamAV update process started at Tue Nov 6 15:56:53 2018 Если все работает нормально, добавляем его в службу запуска системы: # systemctl enable clam-freshclam.service Created symlink from /etc/systemd/system/multi-user.target.wants/clam-freshclam.service to /usr/lib/systemd/system/clam-freshclam.service. Теперь для настройки ClamAV необходимо создать файл сервиса ClamAV. У нас есть пример файла службы, который нам нужно скопировать в папку системных служб. Нам нужно изменить его имя на что-то понятное. Затем нам нужно внести в него небольшие изменения: # mv /usr/lib/systemd/system/clamd@.service /usr/lib/systemd/system/clamd.service Поскольку мы изменили имя, нам нужно изменить его в файле, который также использует этот сервис: # vim /usr/lib/systemd/system/clamd@scan.service Мы изменили первую строку, удалив @, чтобы это выглядело так: .include /lib/systemd/system/clamd.service В том же месте нам нужно изменить файл сервиса Clamd: # vim /usr/lib/systemd/system/clamd.service Мы добавляем следующие строки в конце: [Install] WantedBy=multi-user.target Удаляем % i из опций Description и ExecStart. Затем изменяем их, чтобы они выглядели следующим образом: Description = clamd scanner daemon ExecStart = /usr/sbin/clamd -c /etc/clamd.d/scan.conf TimeoutSec=5min Restart = on-failure RestartSec=10sec Далее запустите сервис clamv # systemctl start clamd.service # systemctl status clamd.service clamd.service - clamd scanner daemon Loaded: loaded (/usr/lib/systemd/system/clamd.service; enabled; vendor preset: disabled) Active: active (running) since Tue 2018-11-06 19:48:17 IST; 16s ago Docs: man:clamd(8) man:clamd.conf(5) https://www.clamav.net/documents/ Process: 1460 ExecStart=/usr/sbin/clamd -c /etc/clamd.d/scan.conf (code=exited, status=0/SUCCESS) Main PID: 1461 (clamd) CGroup: /system.slice/clamd.service L-1461 /usr/sbin/clamd -c /etc/clamd.d/scan.conf Nov 06 19:48:15 node2.example.com clamd[1461]: ELF support enabled. Nov 06 19:48:15 node2.example.com clamd[1461]: Mail files support enabled. Nov 06 19:48:15 node2.example.com clamd[1461]: OLE2 support enabled. Nov 06 19:48:15 node2.example.com clamd[1461]: PDF support enabled. Nov 06 19:48:15 node2.example.com clamd[1461]: SWF support enabled. Nov 06 19:48:15 node2.example.com clamd[1461]: HTML support enabled. Nov 06 19:48:15 node2.example.com clamd[1461]: XMLDOCS support enabled. Nov 06 19:48:15 node2.example.com clamd[1461]: HWP3 support enabled. Nov 06 19:48:15 node2.example.com clamd[1461]: Self checking every 600 seconds. Nov 06 19:48:17 node2.example.com systemd[1]: Started clamd scanner daemon. Если все хорошо, то включите сервис clamd. # systemctl enable clamd.service Created symlink from /etc/systemd/system/multi-user.target.wants/clamd.service to /usr/lib/systemd/system/clamd.service. Для проверки текущей папки мы запускаем следующую команду: # clamscan --infected --remove --recursive ./ ----------- SCAN SUMMARY ----------- Known viruses: 6702413 Engine version: 0.100.2 Scanned directories: 7 Scanned files: 9 Infected files: 0 Data scanned: 0.01 MB Data read: 0.00 MB (ratio 2.00:1) Time: 25.439 sec (0 m 25 s) Мы надеемся вы правильно выполнили все этапы настройки ClamAV в RHEL / CentOS 7 Linux и они оказались полезны для вас в том или ином виде.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59