Saltstack执行cmd.run重启tomcat后出现日志乱码(15)

Saltstack在使用cmd.run重启Tomcat后出现日志乱码问题,原因是cmdmod.py模块在执行前会将minion端字符集设为"C"。解决方法包括:修改cmdmod.py源码或在执行cmd.run前设定LC_ALL为空。最新版的Salt 2015.8.3已修复此问题。
摘要由CSDN通过智能技术生成

Saltstack使用的cmd.run调用的是核心模块cmdmod.py,下面我们来看一下cmdmod.py模块的源码:

cat /usr/lib/python2.6/site-packages/salt/modules/cmdmod.py
......
    if reset_system_locale is True:
        if not salt.utils.is_windows():
            # Default to C!
            # Salt only knows how to parse English words
            # Don't override if the user has passed LC_ALL
            env.setdefault('LC_ALL', 'C')      #默认设置为“C”
        else:
            # On Windows set the codepage to US English.
            if python_shell:
                cmd = 'chcp 437 > nul & ' + cmd
.....
#run函数
def run(cmd,
        cwd=None,
        stdin=None,
        runas=None,
        shell=DEFAULT_SHELL,
        python_shell=None,
        env=None,
        clean_env=False,
        template=None,
        rstrip=Tr
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值