saltstack 在window下 发布 service 服务
saltstack 发布 service 服务
如果是注册的服务发布:
salt -L '172.16.3.39' state.sls service.deploy
目录结构:
/home/salt/servername
├── deploy.sls
└── files
└── servername
server1.sls 配置示例:
# cat server1.sls # 备份 声明变量
{% set time = salt['cmd.run']('D:\Script\getinfo.py gettime') %}
{% set service_dirname = 'Service' %}
{% set service_name = 'Server1' %}
# 或者自设置批处理备份方式
backup_service:
cmd.run:
- name: D:\backup\rar.bat
# 窗口服务 除了 net stop service 还可以直接杀死进程
stop_service:
cmd.run:
- name: taskkill /im Server1.exe /f
- require:
- cmd: backup_service
# 服务间歇
stop_sleep:
cmd.run:
- name: D:\\Script\\sleep.vbs
- require:
- cmd: stop_service # 服务发布
deploy_service:
file.recurse:
- name: D:\\{{service_dirname}}
- source:
- salt://Service/Server1
- require:
- cmd: stop_sleep # 服务启动
start_service:
cmd.run:
- name: net start {{service_name}}
- require:
- file: deploy_service
同样的发布指令:
salt -L '172.16.3.39' state.sls service.server1
相关脚本参考:
getinfo.py
#coding=utf-8
import os
import time
import sys def getTime(*vars):
date = time.strftime("%Y%m%d", time.localtime(time.time()))
return date def getLastBackup(*vars):
if not os.path.exists(vars[0]):
print '%r: 备份路径不存在' % vars[0]
sys.exit(1)
try:
os.chdir(vars[0])
except OSError, e:
print e
sys.exit(1)
else:
lastbackup = sorted(os.listdir(os.curdir)).pop()
return lastbackup def usage():
print 'Usage: python getinfo.py [ gettime | getbackup <service>]' funcdict = {'gettime': getTime, 'getbackup': getLastBackup} def main():
if len(sys.argv) < 2:
usage()
sys.exit(1) option = sys.argv[1:]
if option[0] in funcdict.keys():
print funcdict[option[0]](*option[1:])
else:
usage() if __name__ == '__main__':
main()
压缩备份 rar.bat
set "today=%Date:~3,4%%Date:~8,2%%Date:~11,2%"
md D:\\backup\\%today%
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a D:\backup\%today%\DcApi_%today%.rar -x D:\Service\server1\Logs D:\Service\server1
sleep.vbs
WScript.sleep 5000
saltstack 在window下 发布 service 服务的更多相关文章
- window下启动redis服务
---恢复内容开始--- 在windows环境下启动redis服务,前提是你安装好了,启动如下: 一,进入redis的安装目录下,在地址栏输入“cmd”,回车 二,然后会进入cmd界面,直接运行命令r ...
- (三)发布Dubbo服务
我们现在来学习下发布Dubbo服务,主要参考dubbo开发包里的demo源码:由浅入深的讲解下这个小demo: github地址:https://github.com/apache/incubator ...
- 二,windows下安装memcached服务
window下安装memcached服务的流程如下: 1. 下载memcache的windows稳定版,解压放某个盘下面,比如在c:\memcached 2. 在终端(也即cmd命令界面)下输入 ‘c ...
- Windows 下 exe 服务注册到 service 服务中
window 下注册 exe 程序.添加到 服务中. window 注册服务方式 一. regsvr 方式 直接在 程序目录执行: Regsvr 32 命令是Windows中控件文件 ( 如扩展名为D ...
- 使用GeoServer+QGIS发布WMTS服务 | Publishing WMTS Service Using GeoServer+QGIS
Web GIS系列: 1.搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 2.使用GeoServer+QGIS发布WMTS服务 3.使 ...
- 通过samba服务将centos7指定文件挂载到window下
做嵌入式开发,windows下编辑代码,虚拟机上编译,为了方便打算在虚拟机下搭一个samba服务器,将文件夹映射到windows下,搜索网上的方法,内容大同小异,试了半天终于成功了.特此记录一下步骤, ...
- .netcore下的微服务、容器、运维、自动化发布
原文:.netcore下的微服务.容器.运维.自动化发布 微服务 1.1 基本概念 1.1.1 什么是微服务? 微服务架构是SOA思想某一种具体实现.是一种将单应用程序作为一套小型 ...
- 大规模微服务架构下的Service Mesh探索之路
小结: 1. 第一.二代Service Mesh meetup-slides/敖小剑-蚂蚁金服-大规模微服务架构下的Service Mesh探索之路.pdf https://github.com/se ...
- Windows下使用service.bat安装tomcat服务, 启动停止tomcat服务
在项目开发过程中,以前只是在Eclipse中配置.启动.停止tomcat服务器 如果只想在机器中使用tomcat服务器,而不想安装MyEclipse,可以使用service.bat 将tomcat安装 ...
随机推荐
- 【C#】上机实验三
实验1: 定义一个 TimePeiod 类 包含: hour , minute , second 实现时间的在 时分秒上的加法. using System; using System.Collecti ...
- PB对象Event ID说明
原地址:https://www.cnblogs.com/nickflyrong/p/5973795.html Event ID 含义 内容浅析 event可以用pb自带的id,自动触发事件,而func ...
- Python 获取本月的最后一天
一.需求 现在有一个场景,需要每月的最后一天,发送一封邮件. 二.获取本月最后一天 有没有办法使用Python的标准库轻松确定(即一个函数调用)给定月份的最后一天? 答案是有的,使用 datetime ...
- python基础_mysql建表、编辑、删除、查询、更新
1.建一张学生表 包含(id,name,age,sex)2.增加四条数据3.查询表中sex为男的数据4.删除id =3的数据,5.将sex为女的,修改为男 create: CREATE TABLE d ...
- (二) Windows 进行 Docker CE 安装(Docker Desktop)
参考并感谢 官方文档: https://docs.docker.com/docker-for-windows/install/ 下载地址 https://download.docker.com/win ...
- django路由的反向解析
什么是路由的反向解析 我们的路由都是一个匹配关系,对应一个处理的视图函数, 如果我们的匹配关系发生了变化,那么与之对应的访问地址(可能前端直接url链接, 也可能是后端的redrict跳转)都需要跟着 ...
- keekalived+nginx 高可用
高可用环境准备 后端服务器主配置文件 [192.168.2.7-root@web01~]#cat /etc/nginx/nginx.conf user www; worker_processes 1; ...
- WebLogic反序列化漏洞(CVE-2019-2725补丁绕过)
影响产品: Oracle WebLogic Server10.3.6.0.0 Oracle WebLogic Server12.1.3.0.0 影响组件: wls9_async_response.wa ...
- C++中与类有关的注意事项(更新中~~~)
关于构造函数的调用次序,见下列代码 #include<iostream> using namespace std; class A { private: int x; public: A( ...
- 【转】Rxjs知识整理
原文:https://www.jianshu.com/p/16be96d69143 ---------------------------------------------------------- ...