mac重新安装java

这是个很悲伤的故事,需要接一个java程序。然后当然是开始调试,然后部署到 tomcat 上面。但是不管怎么样编译,放到 tomcat 都会报错。于是开始各种怀疑。

阅读更多

gitolite-install

安装脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
useradd -m git

#安装git-core
apt-get install git-core

#创建gitolite安装路径
shell_dir=/
gitolite=/home/git/gitolite
mkdir -p $gitolite


#cp key
# 安装时替换为管理员秘钥
echo 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDEtBEpIoVQ6ZxFgkQR/Df23lsX+1m5IzKI9VbWDu2KSJhWsuFqc1KGvwYI7DOtcRBUKQFTkf9ExxqbfqUWlyn2cnkpMsfH24Mb28HmHmEBqjtTfurOSH9SNQSgDhxG2K3A0EqiSKFMgFuuGkcyMfIjtTWFhbg5TAWZ69WRnr71QR2pCTuc46bRwRyeZR1s2Ohtss6pF28HphCI58HVg7+VVHTpqz5XLmX6TwOrQtjrTAp0lu12d7Ul5K0IKadF62MOSJJMh0YcC3VZIq1ixqAooUfry+/yS9NBGjJZpKJFeew25tRq9iZJwTp zhangwei@zhangwei' >$gitolite/admin.pub

#cp admin.pub $gitolite

cd $gitolite

git clone git://github.com/sitaramc/gitolite src

echo '开始安装gitolite ......'

${gitolite}/src/install -to $gitolite

echo "安装到了$gitolite"

rm -rf ${gitolite}/src

chown -R git:git $gitolite

#将管理员key放到同级目录命名为admin.pub 并启动
su - git -c "${gitolite}/gitolite setup -pk ${gitolite}/admin.pub "

阅读更多

saltstack-states

这里用 ubuntu 中安装 redis 作为示例

创建 top.sls

/srv/salt/top.sls

1
2
3
4
base:
'server-01':
- roles.redis

阅读更多

saltstack-event

示例salt_event.py

1
2
3
4
5
6
7
8
import salt.utils.event
__opts__ = salt.config.client_config('/etc/salt/master')
event = salt.utils.event.MasterEvent(__opts__['sock_dir'])
for eachevent in event.iter_events(full=True):
print eachevent
print '---------------'


阅读更多

saltstack-cp模块

git_file

1
2
sudo salt   '*'   cp.get_file    salt://files/1.txt      /srv/1.txt   [template=jinja]   [gzip=5]

其中salt: 所指定的位置为 /srv/salt ,可以指定模板 和 压缩等级

阅读更多

saltstack-runners

创建目录

mkdir -p /srv/salt/_runner ; cd /srv/salt/_runner

修改配置文件

runner_dirs: [‘/srv/salt/_runner’]

阅读更多

saltstack-returners

return 是在 minion 端运行的一个回调

创建return目录

1
2
mkdir /srv/salt/_returners

创建一个local_return
/srv/salt/_returners/local_return.py

阅读更多

saltstack-pillar

Pillar是Salt用来分发全局变量到所有minions的一个接口。Pillar data的管理类似于Salt State Tree。

创建 pillar 目录和 top.sls 文件

1
2
mkdir /srv/pillar/ && vim  /srv/pillar/top.sls

内容为

1
2
3
4
5
base:
‘*'
- cache


1
2
3
4
5
6
7
8
{% if grains['os'] == 'RedHat' %}
apache: httpd
git: git
{% elif grains['os'] == 'Debian' %}
apache: apache2
git: git-core
{% endif %}

阅读更多

saltstack-grains

用来匹配minion的grains,是指那些关于minion主机的静态信息,比如OS,软件版本,虚拟化,CPU,内存等等。

查看grains

1
2
3
salt ‘*’ grains.items  #打印grains
salt ‘*’ grains.item [keyname] #打印指定的值

在minion 中配置grains

/etc/salt/grains 自定义 grains
/etc/salt/minion 自定义 grains

1
2
3
4
5
6
7
8
grains:
roles:
- webserver
- memcache
deployment: datacenter4
cabinet: 13
cab_u: 14-15

阅读更多

saltstack-自定义模块

创建 modules 目录

1
2
mkdir  /srv/salt/_modules  && cd /srv/salt/_modules

在 _modules 目录创建一个模块 test.py

代码如下

1
2
3
def foo():
return 'foo'

阅读更多