我正在尝试通过 Fabric 更改我的远程服务器的时区,如下所示:
run("export TZ=\":Pacific/Auckland\"")
运行(“日期”)
这似乎不起作用。 run("date")
给了我:
Tue Apr 19 00:19:58 CDT 2011 这不是我刚刚设置的时区。
如果我只是登录到服务器并运行相同的 bash 命令,一切都和预期的一样:
[lazo@lazoweb]$ 日期
2011 年 4 月 19 日星期二 00:20:00 CDT
[lazo@lazoweb]$ export TZ=":Pacific/Auckland"
[lazo@lazoweb]$ 日期
新西兰标准时间 2011 年 4 月 19 日星期二 17:20:20
任何人都可以对此有所了解吗?我错过了什么?
最佳答案
run("export TZ=\":Pacific/Auckland\"")
run("date")
就好像
/bin/sh -c 'export TZ=":Pacific/Auckland"'
/bin/sh -c 'date'
您正在启动一个 shell,设置其环境变量之一,然后退出它。它从来没有机会将该环境变量传递给任何人。
在脚本环境中设置 TZ,然后运行
date
。我不知道 Python,但它似乎是os.environ['TZ'] = ":Pacific/Auckland"
run("date")
关于python - 如何通过 Fabric 设置远程服务器 TimeZone?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5712062/