在测试环境中由于需要测试不同时间段的活动,经常需要修改服务器及数据库的时间,为减少运维工作量,只需要在一个地方修改时间即可修改所有测试服务器的时间。我们公司主要采用c# + MySQL,因此涉及到Windows和Linux。再此分享一个同步时间方案:
1. Windows时间修改
比如你站点的名字为time.abc.com应用程序池的名称也为time.abc.com
打开组策略,增加服务器权限
@echo date % 1 time % 2 echo sudo /bin/date -s “% 1, % 2”,在E: \ tmp \ set.log E: \脚本\ putty.exe -pw  password -m E: \ tmp \ set.log time@192.168.1.100 退出
第一个参数就是年/月/日,如:2017/05/18
第二个参数就是时:分:秒,,如:10:04:00
说明下腻子命令行的用法:
pw,登录密码
- m是执行本地文件的内容,而非Linux远程文件
我们在Linux上创建时间用户,同时然时间用户具有修改时间权限
useradd时间回声“密码”| passwd时间——stdin
visudo
#注释违约,,requiretty
#违约,,requiretty
#增加如下语句
时间所有=(根),NOPASSWD:/bin/日期
在Linux上就配置好了
接下来一步比较麻烦:
现在本地执行脚本,传入参数:
time.bat 2017/05/18, 10:04:00
然后就会弹出腻子要求确认的画面
这个时候你就去注册表导出腻子配置文件
Windows注册表编辑器5.00版
[\ Software \ SimonTatham \腻子\ SshHostKeys]
“rsa2@22:192.168.1.100”=? x10001, 0 xd7ffdc7a88b37ed31bac6ebe5ba48d06e30e143fee6746fcee75af577d6b16968c11cbddccd1038a8d330093227eee28a643357537c8bcc5fb8298832a01b0de7a34f3aed85f10a72be183d58b2dcc8cc9933af76ad411bb7701221bd9276285b9116afd3b24ee4d7fec4847366e2a8c01875e6726626e376dfdfeb0a37239d6c22cf5da06f71059a361dbed7ff8539a3d48e18bf822a34d3757cff457c73983b7b14ba336789c6eb3ab418ad2ae574990d10146446a13003b62a74587557b6a778a9af585e5f0fcc32d7af2dfb3e8141b9181d4b043c322e83a26e1593b9fe085f1af227a3c78e4e43ebbc4f6474312ecda286043c5af306a43825050cddb9d”
类似于这样的
修改配置导出的注册表文件
将HKEY_CURRENT_USER替换为HKEY_USERS \。默认的
5.00版本Windows注册表编辑器
[\ \ SimonTatham \腻子软件\ SshHostKeys]
“rsa2@22:192.168.1.100”=? x10001, 0 xd7ffdc7a88b37ed31bac6ebe5ba48d06e30e143fee6746fcee75af577d6b16968c11cbddccd1038a8d330093227eee28a643357537c8bcc5fb8298832a01b0de7a34f3aed85f10a72be183d58b2dcc8cc9933af76ad411bb7701221bd9276285b9116afd3b24ee4d7fec4847366e2a8c01875e6726626e376dfdfeb0a37239d6c22cf5da06f71059a361dbed7ff8539a3d48e18bf822a34d3757cff457c73983b7b14ba336789c6eb3ab418ad2ae574990d10146446a13003b62a74587557b6a778a9af585e5f0fcc32d7af2dfb3e8141b9181d4b043c322e83a26e1593b9fe085f1af227a3c78e4e43ebbc4f6474312ecda286043c5af306a43825050cddb9d”
然后再倒入到注册表中。
这个是将用户与linux信任的密钥,让所有用户都信任,这样才能登录所有的linux服务器