По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Операционные системы Unix традиционно используют такие понятия, как стандартный ввод, вывод и вывод ошибки. Чаще всего ввод — это клавиатура, а вывод это на кран. Но конечно же мы можем выводить исполнение какой-то команды в файл и передавать другой команде, потому что работая в Linux, создается такая последовательность из команд, т.е результат предыдущей мы отправляем следующей и т.д Целью данной статьи является рассмотреть: Перенаправление стандартных ввода, вывода и ошибок; Передача вывода одной команды в качестве аргументов другой; Получение выходных данных в файл и на стандартный вывод; Основные понятия: Stdin (0) – ввод Stdout(1) – вывод Stderr (2) – вывод ошибки > - передать в >> - дописать в list.txt. По сути означает выполнить команду, а результат передать в файл. Фал можно посмотреть командой cat list.txt. И мы можем убедится, что в данном файле находится перечень, всего что находилось в данной папке. Если мы выполним еще раз команду ls > list.txt, то данный файл каждый раз будет перезаписываться. Если же мы хотим, чтобы наш файл не перезаписывался, а дописывался, используем другую стрелочку ls >> list.txt. И теперь вы можете видеть, что файл стал больше. Т.е. у нас записалось, то что было, а затем еще раз добавилось. Если опять выполнить команду со стрелочками >> , то опять допишется информация в файл. Вот таким образом работают “стрелочки”. Стандартный вывод ошибок. Мы можем, например, сказать машине, выведи нам содержимое папки bob, которая не существует ls bob > result.txt, естественно мы получим ошибку которую система вывела на экран. Экран является стандартным выводом ошибок. В нашем случае нет папки bob и нет файла resut.txt. Если мы хотим отправить ошибку в файл, так же как результат выполнения команды, то ls bob 2> result.txt, вспоминаем основные понятия, в которых было указанно, что 2 – это стандартный вывод ошибки. Следовательно, на экране мы уже не видим ошибки, потому что она отправилась в указанный файл. Кстати мы можем объединить стандартный вывод команды и стандартный вывод ошибки. Например: ls bob > result.txt 2> error.txt. Выведи содержимое папки bob в файл result.txt, а если возникнет ошибка внеси в файл error.txt. В таком случае и команда выполнится и что-то будет в файле и если ошибка возникнет, то она будет записана в файл error.txt. Это можно применять на практике, когда мы что-то делаем и предполагаем, что в процессе выполнения возникнут ошибки, то используя данную конструкцию данные ошибки мы все можем отправить в отдельный файл. Конвейер Конвейер умеет передавать выходные данные из одной программы, как входные данные для другой. Т.е. выполняется команда, мы получаем результат и передаем эти данные далее на обработку другой программе. Например, выполнить команду ls и далее мы могли стрелочкой отправлять результаты выполнения команды в файл, т.е. мы меняли только стандартный вывод, а не передавали другой программе. А можем выполнить ls | grep r , т.е. получить содержимое и передать по конвейеру команде сортировки и сказать отсортировать по наличию буквы r, а если перенаправить еще вывод в файл, то cat имя файла , мы сможем увидеть информацию в файле. Но есть другая команда tee которая позволяет работать немного удобнее. Например: ls | tee output.txt. Те данная команда выводит информацию сразу на экран и в указанный файл. Что достаточно удобно с точки зрения работы с выводами. И еще одна команда xargs – она построчно работает с выводами. Если у нас есть какая-то команда, которая выдает нам вывод в виде нескольких строк ответа, то мы можем эти строки построчно передавать этой команде, т.е. не одной кашей, а построчно. Например find . –name “*.txt” найти все файлы в текущем каталоге с расширением txt. И если бы мы захотели удалить все эти файлы нам бы пришлось построчно их удалять, но мы можем сказать, чтобы выходные данные были переданы по конвейеру xargs и удалить. find . –name “*.txt” | xargs rm -f Как видите после данной конструкции команд файлов не осталось. Т.е. данные построчно передались на команду удаления, которая построчно каждый файл с ключом –f (принудительно) их и удалила.
img
На этот раз мы спешим поделиться процессом настройки подключения (SIP – транка) на FreePBX 13 на примере оператора Beeline. Настройка транка Настройка транка от данного оператора не отличается какими-то особенным параметрами – все происходит так же, как и в случае других операторов. После покупки аккаунта, вам должны предоставить следующие данные: Опция В нашем примере Телефонный номер +74956661313 Логин(UserID) 74956661313 Пароль test Сервер sip.beeline.ru Домен sip.beeline.ru OutboundProxy msk.beeline.ru (DNS SRV-запись) Создаем новый транк. Для этого необходимо перейти по следующему пути: Connectivity → Trunks. Далее необходимо кликнуть на кнопку создания нового транка (+ Add Trunk). Выбираем опцию создания SIP (chan_sip) Trunk. Нужно присвоить транку имя и указать Outbound CallerID (номер, который вы получили от провайдера). Далее переходим во вкладку sip Settings и вносим необходимые настройки в поле PEER Details вкладки Outgoing: Ниже приведены настройки для поля PEER Details в текстовом виде, для удобства: username=74956661313 //ваш логин (он же номер) type=friend secret=test //ваш пароль outboundproxy=msk.sip.beeline.ru insecure=port,invite host=sip.beeline.ru fromuser=74956661313 fromdomain=sip.beeline.ru dtmfmode=rfc2833 disallow=all directmedia=no defaultuser=74956661313 context=from-trunk allow=alaw&ulaw Далее переходим во вкладку Incoming и настраиваем строку регистрации: Для оператора Билайн строка регистрации имеет следующий вид: Логин:пароль@sip.beeline.ru/ваш_номер Логин – это ваш так называемый AuthUserID Нажимаем Submit и Apply Config. Маршрутизация вызовов Для настройки входящего маршрута переходим в Connectivity → Inbound Routes, далее кликаем на кнопку создания нового маршрута (+ Add Inbound Route). Присваиваем имя и указываем DID Number – удобнее всего оба поля заполнить значением вашего номера, и указываем куда будет маршрутизироваться входящий вызов: Кликаем Submit и Apply Config, переходим к настройке исходящего маршрута: во вкладке Connectivity – Outbound Routes, кликаем + Add Outbound Route. Указываем имя маршрута, указываем CID и выбираем транк Далее переходим во вкладку Dial Patterns и в поле Match Pattern ставим одну-единственную точку (для маршрутизации всех вызовов в сторону Билайна). После этого кликаем Submit и Apply Config – на этом настройка транка в FreePBX 13 для оператора Билайн закончена.
img
Хотим рассказать о простом способе организовать автоматический перенос файлов из директории в операционной системе Windows с одного сервера на другой. Логически, конфигурацию можно поделить на 3 этапа: Создание и шаринг сетевой папки; Формирование batch (cmd) скрипта; Настройка компоненты Task Scheduler для выполнения задач и раз в минуту; Приступаем к последовательной настройке. Создание сетевой папки (шаринг) Итак, дано: есть сервер А (источник файлов) и сервер Б (получатель файлов). На сервере А мы создали директорию, из которой мы будем забирать файлы. Мы назвали ее source, а на сервере Б, который является сервером назначения, мы создали директорию Destination, в которую мы будем складывать файлы. Разобрались. Подключаемся к серверу Б. Создаем директорию Destination, нажимаем на нее правой кнопкой мыши, выбираем Properties (свойства). В открывшемся окне, переходим во вкладку Sharing (общий доступ) и нажимаем кнопку Share (общий доступ). Вот как эта опция выглядит в русской и английском интерфейсах: После нажатия, необходимо выбрать группы пользователей, которым будет видна эта директория. Если нет особых требований к безопасности и это изолированный сетевой сегмент или лаборатория, то можно выбрать Everyone (все). После выбора нажимаем Share. Готово, вот что у нас получилось: На скриншоте выше красным цветом отмечен Network Path (сетевой путь). Это путь, по которому мы будем обращаться к этой папке. Сохраните его. Важно! Обратите внимание, что в Network Path, как правило, будет указан путь вида %ИМЯ_ХОСТА%/Destination, где %ИМЯ_ХОСТА% - это имя компьютера, на котором расположена папка Destination. Важно, чтобы это имя резолвилось (разрешалось в IP - адрес) на хосте, где будет размещена папка Source (это сервер А). Можете добавить это имя и IP – адрес в локальный файл C:WindowsSystem32driversetc в Windows. Батник – batch скрипт В самом начале статьи мы озвучили небольшой roadmap (дорожную карту) по нашим работам. На сервере А (источник файлов) создайте файл с названием movefiles.bat. Важно! Расширение файла movefiles должно быть именно bat В созданный файл добавляем следующий код: robocopy C:Source \%ИМЯ_ХОСТА%Destination *.* /E /XD \%ИМЯ_ХОСТА%Destination /move Если у вас не работает команда robocopy в скрипте, попробуйте заменить ее на xcopy Сохраняем скрипт в корневом каталоге диска С, например. Планировщик задач | Task Scheduler Открываем Task Scheduler в Windows. После открытия, нажимаем на Create Basic Task в меню справа. Даем имя и описание нашему заданию: В меню далее выбираем ежедневное выполнение нашего скрипта: Ставим выполнение задачи на 00:00:00: В Action выбираем Start a program: Далее, указываем путь до нашего скрипта, который создавали ранее - movefiles.bat: В финальном окне смотрим, что у нас получилось. Если все ОК, как у нас, то нажимаем Finish: Отлично. Переходим в свойства свежесозданной таски (задачи) и во вкладке General отмечаем Run whether user is logged on or not и чекбокс Run with highest privileges. Далее, там же, в свойствах, переходим во вкладку Triggers, двойным нажатием открываем свойства уже созданного там триггера (Daily) и делаем вот что: Отмечает чекбокс Repeat task every; В поле, сразу после Repeat task every вписываем 1 mnute; Нажимаем ОК. Тестируем Итак, давайте протестируем, что у нас получилось. На сервере А в папку Source кладем тестовый текстовый файл: Проверяем на сервере Б в директории Destination:
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59