逗老师因为工作需要,日常办公同时使用Windows+MacOS两种操作系统。
因为是个网狗,所以日常工作还需要使用SecureCRT。
在SecureCRT如何跨端同步配置以及自动记录日志上,总结了一些新的分享给大家。
一、SecureCRT自动记录会话二、SecureCRT跨设备同步三、跨端同步的路径变量问题 一、SecureCRT自动记录会话
对于运维和网工狗来说,shell客户端能自动记录会话日志是很用用的。
一来日后想找历史配置的时候,可以回溯当年dis cu过的配置二来出现问题扯皮的时候,起码可以提供一个审计日志,说不是自己干的。
SecureCRT一键给所有session开启自动日志的办法如下:
【Options】->【Global Options】->【Default Session】->【Edit Default Settings】
在**【Log File】**配置页下,填入保存文件的路径和文件名称。
此处可以使用占位符来自动根据日期和会话名称生成日志文件名。
也可以自动在会话开始和结束的时候,在日志中自动插入提示信息。
例如此处:
日志文件名:%Y-%M-%D-%S-%H.log
会话开始时插入:--------start at %Y-%M-%D--%h:%m--------
会话结束时插入:--------stop at %Y-%M-%D--%h:%m--------
点击确定按钮后,提示是否对已有的会话进行更新,点击“更新所有会话”
自动保存的日志效果如下:
如果电脑很多,保存的会话又很多,我们可以使用一个云服务来自动同步CRT的会话列表。
逗老师使用微软的OneDrive来同步,当然使用iCloud,Google Drive甚至是百度网盘都可以。
【Options】->【Global Options】->【Configuration Paths】
将默认全局配置路径指向网盘的同一个文件夹即可。
然后,再把原先CRT的配置文件全部拷贝到这个目录下,以后就在这个目录下继续工作就好了。
MacOS端指向Onedrive所在目录
Windows端指向Onedrive所在目录
任何一台电脑的CRT配置完成后,会自动在网盘的目录下创建CRT必要的目录结构,如下:
之后任何一台电脑的CRT都会访问这个共享的网盘目录,会话和配置就会同步起来啦。
同志们,精彩的地方来了。
第一个【一、SecureCRT自动记录会话】话题中,我们写的日志保存路径是绝对路径
第二个【二、SecureCRT跨设备同步】话题中,我们明显发现Windwos和MacOS的路径格式不一样。
那么有没有办法让跨端同步的时候,日志文件也保存到共享网盘里呢?
还真给找到了。我在vandyke的社区里找到了一篇文章
Configuration files from Windowd to MAC
SecureCRT的路径配置中,是支持变量的。
${VDS_CONFIG_PATH}:全局配置文件的路径
${VDS_INSTALL_PATH}:CRT的安装路径
${VDS_USER_DATA_PATH}:用户数据目录路径
${VDS_SSH_DATA_PATH}:SSH Key保存路径
这些变量会根据操作系统和CRT的全局配置自动带入,并且在ini文件中仍然以变量名进行保存。以此在跨端同步的时候实现最大兼容性。
本例中,如果想把日志文件也保存到共享网盘里,需要在配置日志文件的时候使用变量路径,继承全局配置文件的变量。如下图所示:
点击确定后,再次去各台PC上查看,发现日志文件的路径已经根据不同的操作系统自动调整了。
MacOS下:
Windows下:
同时我们查看session的ini文件,也会发现,ini内保存的logfile路径依然是通过变量名进行存储的。
这样不管更换多少台电脑,只要正确配置全局配置文件路径,log文件路径都会正确继承。