FastHandle is fast operation tools for infrastructure configurations and tests.
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
preparation:fhhome:test.py.html [2019/02/12 23:29] kurihara |
preparation:fhhome:test.py.html [2019/02/13 00:18] (current) kurihara |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| [[: | [[: | ||
| - | ====== $FHHOME/$FHLINUX/fabfile/__init__.py ====== | + | ====== $FHHOME/linux/fabfile/test.py ====== |
| - | + | ||
| - | + | ||
| - | + | ||
| - | + | ||
| - | ===== fabfile/ | + | |
| - | + | ||
| - | <sxh bash toolbar: | + | |
| - | import sys, os, glob, select, importlib, re | + | |
| - | from fabric.api import * | + | |
| - | from fabric.contrib import files | + | |
| - | from datetime import datetime | + | |
| - | + | ||
| - | # | + | |
| - | # SSH User | + | |
| - | # | + | |
| - | hostname = os.uname()[1] | + | |
| - | + | ||
| - | if hostname == " | + | |
| - | env.user = ' | + | |
| - | env.password = ' | + | |
| - | elif hostname == " | + | |
| - | env.user = ' | + | |
| - | env.password = ' | + | |
| - | elif hostname == " | + | |
| - | env.user = ' | + | |
| - | env.key_filename = ' | + | |
| - | # | + | |
| - | + | ||
| - | # | + | |
| - | # Variable | + | |
| - | # | + | |
| - | FHHOME=os.environ[" | + | |
| - | + | ||
| - | env.warn_only = True | + | |
| - | env.port = 22 | + | |
| - | env.eagerly_disconnect = True | + | |
| - | + | ||
| - | #don't create *.pyc without __init__.pyc | + | |
| - | sys.dont_write_bytecode = True | + | |
| - | + | ||
| - | + | ||
| - | + | ||
| - | # | + | |
| - | # | + | |
| - | # standard in for example echo x.x.x.x | + | |
| - | if select.select([sys.stdin, | + | |
| - | lines = sys.stdin.read().splitlines() | + | |
| - | env.hosts = filter(bool, | + | |
| - | + | ||
| - | + | ||
| - | #FastHandle Operation History to log file | + | |
| - | TIME = datetime.now().strftime(' | + | |
| - | yymm = datetime.now().strftime(' | + | |
| - | + | ||
| - | f=open(" | + | |
| - | + | ||
| - | if env.hosts == []: | + | |
| - | f.write(" | + | |
| - | f.write(' | + | |
| - | f.write(" | + | |
| - | + | ||
| - | for p in env.hosts: | + | |
| - | f.write(" | + | |
| - | f.write(' | + | |
| - | f.write(" | + | |
| - | f.close() | + | |
| - | + | ||
| - | + | ||
| - | # auto import *.py | + | |
| - | # Ref. https:// | + | |
| - | pathThisFile = os.path.dirname(os.path.abspath(__file__)) | + | |
| - | + | ||
| - | def loadModule(): | + | |
| - | + | ||
| - | myself = sys.modules[__name__] | + | |
| - | + | ||
| - | #print __name__ | + | |
| - | + | ||
| - | mod_paths = glob.glob(os.path.join(pathThisFile, | + | |
| - | for py_file in mod_paths: | + | |
| - | mod_name = os.path.splitext(os.path.basename(py_file))[0] | + | |
| - | if re.search(" | + | |
| - | mod = importlib.import_module(__name__+ " | + | |
| - | #for m in mod.__dict__.keys(): | + | |
| - | #if not m in [' | + | |
| - | # | + | |
| - | loadModule() | + | |
| - | </ | + | |
| - | + | ||
| \\ | \\ | ||
| + | {{INLINETOC}} | ||
| \\ | \\ | ||
| - | <WRAP box 90%> | ||
| - | [[: | ||
| - | <catlist ..: -noAddPageButton -noHead> | ||
| - | </ | ||
| - | \\ | ||
| - | [[: | ||
| - | [[: | ||
| - | |||
| - | ====== $FHLINUX/ | ||
| Line 114: | Line 16: | ||
| $ fab -l |grep test. # check options | $ fab -l |grep test. # check options | ||
| - | $ echo xx.xx.xx.xx | fab test.hostname | + | $ echo xx.xx.xx.xx | fab test.hostname |
| - | $ fhghost.sh " | + | $ fhghost.sh " |
| </ | </ | ||
| Line 127: | Line 29: | ||
| from datetime import datetime | from datetime import datetime | ||
| - | FHHOME=os.environ[" | + | FHLINUX=os.environ[" |
| # test.local_hostname | # test.local_hostname | ||
My Sites
SNS
Copyright (c) 2025 FastHandle - IT Operations Examples All Rights Reserved.