Linuxコマンドをどのように記録できますか?


9

使用しているLinuxコマンドを記録して別のマシンで再利用する方法や、マシンを再インストールする方法はありますか?

例では、ラボ環境でNginX、PHP、およびアクセス許可を設定してから、デプロイマシンで正確なコマンドを繰り返す方法を記録していますか?

回答:


19

あなたはscript(1)を望んでいるように思えます

ターミナルセッションを記録および再生できます。

一方、セットアップを自動化しようとしている場合は、puppetなどの構成管理を検討してください。


人形をありがとう、それはよさそうだ。それについてもっと読む。
ジョナス

1
人形の場合は+1。これは、単にシェルコマンドを記録するよりもはるかに優れた方法です。
EEAA 2010年

+1。cfengineもPuppetのライバルです
gWaldo

2

頭のてっぺんから考える2つの方法:

  • 組み込みのコマンド履歴を使用する

  • スクリーンセッションですべてを行い、ログを有効にする


2

Bashは〜/ .bash_historyというファイルにコマンドを記録します。これは、コマンドラインを使用して1つのコマンドウィンドウですべてを実行する場合に機能します。

ただし、そのファイルのサイズは最新の1000(デフォルト)コマンドに制限されます。


0

これを試してください

スクリプト/ tmp / it356658-$(uname -n).out

#日付


彼はscriptの出力を特定のファイルに送信しています。命名は珍しいですが、おそらくより大きなシェルスクリプトから抽出された可能性があります。
mctylr 2010年

1
$(uname -n)実行するコマンドラインで解釈されるunameと、コマンドを-nシステムのホスト名をプリントアウトするためのフラグ。
mctylr 2010年

0

このタスクにはautoexpectも使用できると思います。


試したところ、Ubuntuで「コマンドが見つかりません」というメッセージが表示されました。
ジョナス

1
デフォルトではインストールされない可能性があるExpectパッケージの一部になると思います。参照:linuxjournal.com/article/3065
mctylr

0

通常history > ~/tmp/hh、履歴ファイルを保存するようなコマンドを使用します。次に、を使用viし、Gコマンドで一番下にジャンプして、スクリプトへの有効なエントリポイントの近くにある部分が見つかるまで上方向に検索します。そこからls、無関係なコマンドを折りたたみ、一連のインクリメンタルcdをディレクトリに結合し、コメントを追加し、引数にする必要がある部分、環境設定にする必要があるもの、ハードコーディングする必要があるものを特定し始めます。コメントをたくさん追加します。時々私はそれを自動化する部分を「パント」し、ユーザーにいくつかの指示を与えるだけです(この設定を見つけて、sshfooに...、このファイルからblahのコメントを外してblargに移動してください)またはechoURL ...とプロンプト次のような文字列: 'Configured Foo and exit>'

(自動ファイル編集をパントするとき...コメントとしてファイルに有益なコードを追加し、vi +コマンドラインスイッチのようなものを使用して、エディターのカーソルをファイルの下部近く、上部に配置することをお勧めしますたとえば、5行の説明テキスト(ここではドキュメントなど)をコマンドラインのファイル名の前に追加'+$-5'viます(ファイルの最後の行から5行を引いたものを指す$-5古いex言い回しです。任意の... コマンド...を引数として受け入れるための比較的あいまいな+スイッチ)。viex

別のトリック...あなたはXウィンドウシステムの端末からのあなたの仕事の大半を行うと仮定すると(xtermkonsolegnome-terminalあなたが行くように、など)その後、いくつかのwikiページ上で開いているブラウザを保ちます。コマンド、出力、テキストファイルのスニペットをカットアンドペーストして、メモを書き留めます。(これは主にssh、ワークステーション、デスクトップ、ラップトップなどからサーバーで作業していることを前提としています)。

早期かつ頻繁に保存します。

さまざまなプロセスまたはステージ用の新しいWikiページを作成します。次に、それらをリンクし、ネット上の参照にリンクします。(ご存知のように、いつでも行き詰まるたびに使用したすべてのGoogleページ)。

私の最高のHOWTOドキュメントのいくつかはこの方法で作成されました。

それを正しく行うと、ジュニアチームメンバーまたは熱心なインターンに委任することで、昔ながらの方法で仕事を終えることができる場合があります。:)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.