有没有办法logging我使用的Linux命令,并在另一台机器上重用它们,或者我想重新安装机器?
在示例中logging如何在我的实验室环境中设置NginX,PHP和权限,然后在我的部署机器上重复确切的命令?
对我来说就像你想要的脚本(1) 。
它允许您录制和重放terminal会话。
另一方面,如果您尝试自动设置,请考虑像puppet一样的configurationpipe理。
我可以从头脑中想到两种方法:
使用内置的命令历史
在屏幕会话中执行所有操作并启用日志logging
Bash在一个名为〜/ .bash_history的文件中logging命令。 如果你通过一个命令行,并在一个命令窗口中执行所有操作,这将起作用。
尽pipe如此,它会将该文件的大小限制为最近的1000个(默认)命令。
试试这个
#date
我想你也可以使用autoexpect来完成这个任务。
通常我使用history > ~/tmp/hh
来保存历史文件。 然后我用vi
,用G命令跳到底部,然后向上search,直到find接近有用的入口点的部分。 从那里,我收集了无关的ls
命令,将一系列增量cd
合并到目录中,添加注释,并开始计算哪些部分需要参数,哪些可能是环境设置,哪些必须是硬编码的。 我添加了很多评论。 有时我会在自动化的部分“踢”,只是给用户一些指示(去find这个设置, ssh
到foo和…,从这个文件取消注释并移动到blarg)或echo
URL …和一个提示string,如:'configurationFoo和退出>'
(当你在一个自动化的文件编辑器上进行编辑…我build议在文件中添加一个指导性代码作为注释,并使用像vi
+命令行开关这样的编辑器光标放在文件底部附近例如,如果有5行指导性文本(例如这里的文档 ),你可以在vi
命令行中添加'+$-5'
,在文件名之前( $-5
是一个旧的ex
咒语)写下文件的最后一行,减去五行;相对模糊的+
切换到vi
接受任何ex
… : command …作为参数)。
另一个诀窍是,假设您从X Windowing Systemterminal( xterm
, konsole
, gnome-terminal
等)执行大部分工作,则可以在浏览器中随时打开浏览器。 剪切和过去的命令,输出,文本文件的片段,并随时记下笔记。 (这主要是假设你主要是通过你的工作站,台式机,笔记本电脑等等的ssh
工作在你的服务器上)。
提前和经常保存。
为不同的stream程或阶段创build新的维基页面。 然后将它们链接在一起,并链接到网上的任何参考。 (你知道,每当你被卡住的时候,你所用的所有Google页面)。
我的一些最好的HOWTO文档是以这种方式创build的。
如果你做得对,那么你可以通过委托给初级团队成员或急切的实习生,以老式的方式把工作从你的盘子上拿下来。 🙂