params_s.py
Скрипт для хранения параметров в .cfg файлах (как my.cnf, например). Может сохранять в локальный или удаленный (подключается по ssh) файл. Если указаны оба - и локальный и удаленный файлы - объединяет конфигурацию в одно целое, при этом учитывает специальный параметр version находящийся в каждой секции конфигурации. Более новые параметры перепишут более старые, если есть в обоих конфигах. Остальные параметры будут скопированы в общую конфигурацию. Даже после запроса на чтение get оба конфигурационных файла будут объеденены и перезаписаны последней версией. При удалении, если не указан параметр, будет удалена соответствующая секция. Если параметр/секция не найдены скрипт не возвращает ничего.
Пример запуска:
eking@eking:~$ ./params_s.py -h usage: params_s.py [-h] [--file FILE] [--node NODE] [--key KEY] [--port PORT] [--usr USR] [--pwd PWD] [--nf NF] [--section SECTION] [--option OPTION] [--value VALUE] action get/set params from .cfg file on the local and/or remote host (node). For use on bash/sh scripts positional arguments: action set/get/del/list/sectlist optional arguments: -h, --help show this help message and exit --file FILE local file name --node NODE IP/fqdn of node to connect --key KEY key file --port PORT ssh port --usr USR user for connect --pwd PWD password for user or key --nf NF file name of config on node --section SECTION section name --option OPTION variable name --value VALUE value eking@eking:~$
Скачать скрипт: https://github.com/eking-go/public-tools.