Библиотека fabric для Python является хорошим средством для автоматизации действий (админимстрирования, deployment и т. д.) для инфраструктуры серверов под управлением ОС Linux. Библиотека использует протокол open ssh для выполнения команд и перемещения данных.
Подробнее о библиотеке можно прочитать на официальном сайте или здесь.
Бывают ситуации, когда необходимо в одном скрипте и объявить таск из библиотеки fabric и выполнить его.
Пример структуры такого скрипта:
Для того, чтобы скрипт выполнялся "тихо" - без запросов на ввод пароля для удаленного пользователя, необходимо организовать доступ на удаленноый сервер с помощью ssh-ключей, например как я описывал здесь.
Update:
Для передачи аргументов в скрипт, указываем их перед hosts=.
Для передачи xargs, можно указывать их также до или после hosts=
Подробнее о библиотеке можно прочитать на официальном сайте или здесь.
Бывают ситуации, когда необходимо в одном скрипте и объявить таск из библиотеки fabric и выполнить его.
Пример структуры такого скрипта:
#!/usr/bin/env python # Script dependencies: python-devel, fabric (https://github.com/fabric/fabric/archive/master.zip) # Usage: python script.py import fabric from fabric.api import * # Define ssh-like address user@server_hostname remote_host = user@server def some_fab_task(): # Define fabric task here # hide('everything') helps to execute task with minimum output to console with settings(hide('everything')): try: .... except: .... # Main function if __name__ == '__main__': # Call fabric task from here fabric.tasks.execute(some_fab_task, hosts=[remote_host])
Для того, чтобы скрипт выполнялся "тихо" - без запросов на ввод пароля для удаленного пользователя, необходимо организовать доступ на удаленноый сервер с помощью ssh-ключей, например как я описывал здесь.
Update:
Для передачи аргументов в скрипт, указываем их перед hosts=.
fabric.tasks.execute(some_fab_task, arg1, arg2, hosts=[remote_host])
Для передачи xargs, можно указывать их также до или после hosts=
fabric.tasks.execute(some_fab_task, arg1, arg2, hosts=[remote_host], xarg1=value1)
Комментариев нет:
Отправить комментарий