2

cron で自動化する必要があるシェル スクリプトがあります。私たちのオフィスには、cron を使用するためにログインしなければならない特定のマシンがあります。私の問題は、私が書いたスクリプトが git と対話し、git コマンドを使用してコードをプルし、ブランチを切り替えることです。cron ジョブをスケジュールでき、スクリプトが実行されているマシンには gitがありません。git を使用しているときにログインする別のマシンがあります。cron システムからスクリプトを実行し、git システムから git 部分を実行する簡単な方法はありますか?

更新: これが可能かどうかはまだ興味がありますが、私のチームは新しいマシンを取得しました。これは、どのようにセットアップするかを選択します。つまり、cron と git が含まれます。アイデアをありがとう

4

1 に答える 1

2

一部の人々が上で述べたように、sshはこれを行う方法です。これは、他のサーバーからデータを収集するために、仕事でよく使用する bash 行です。

ssh -T $server -l username "/export/home/path/to/script.sh $1  $2" 1>traf1.txt 2>/dev/null

上記のコード サンプルは、ユーザーusernameとして ip $server に接続し、スクリプトscript.shを実行して、パラメーター $1 および $2 を渡します。リダイレクトの代わりに、スクリプト内の他のコマンドと同じように、コマンド出力を変数に割り当てることもできます。

PS: 上記を機能させるには、これらのマシン間でパスワードなしのログインを設定する必要があることに注意してください。そうしないと、スクリプトが壊れてパスワードの入力を要求されますが、これはおそらく望ましい動作ではありません。

于 2013-01-21T14:08:20.663 に答える