我必须运行很多ACL /访问组和networking对象命令,并且我发现每个命令都有1024个字符的限制 – 即使它跨越多行。 在代码中,我使用了1000个字符作为限制,并且每次通过SSH发送尽可能多的行到CLI。 这需要很长的时间。
我正在考虑像* nix中的shell脚本,或Windows中的batch file。
我见过很多关于导入/导出configuration的文章,但是我正在谈论的是在正在运行的系统上运行命令,而不是在重新启动/重新启动时执行命令。 我不更改核心映像,只需访问一些可以在ASA上进行更改的访问参数,而无需重新启动或closures/不closures。
Desired:一种运行发送到ASA的tftp'd / ftp'd / scp'd文件内容的方法,就像我在CLI上input的一样。 我将准备命令,写入文件,发送文件,然后逐行运行文件的内容,就像我login到ASA一样。
在ASA(和IOS)上,可以通过将命令复制到running-config来完成:
asa# copy tftp running-config
这会将TFTP服务器上的文件中的命令与正在运行的configuration合并起来,就像您手动键入或粘贴它们一样。 该文件应该包含你想要运行的逐字命令。 当然,您可以从ASA支持的任何源(例如FTP或HTTP(S))进行复制。 不过,我不知道内置的SCP服务器是否支持这个function。
唯一的问题是它只能在configuration模式下工作。 例如,你不能用它来运行一堆“显示”命令。 你可能需要使用Expect(或者EEM,Jason指出)。
从ASA代码9.2起,添加了EEM(embedded式事件pipe理器)支持。 这可能会让您从文件中读取命令并应用它们。
我远不是EEM的专家,但是可以帮助你解决这个问题的人是@ https://supportforums.cisco.com/community/5941/eem-scripting
让我们知道你发现什么!