私は現在、他の誰かが CentOS 6 サーバーに残した混乱を片付けています。6 時間ごとに github アカウントにバックアップする必要があるアプリケーションがあります。データの準備を処理するスクリプトがあり、それが git add と git commit を処理します。
git push は「expect」スクリプトによって処理されます。これは、ssh が要求したときにパスフレーズを git push に渡すことができるようにするためです。ユーザーは空のパスフレーズを使用したくありません。
root ユーザーが bash シェルのコマンド ラインから実行すると、スクリプトは正常に実行されます。github に転送されたファイルが表示されます。
root によって作成された crontab でスクリプトを実行すると、スクリプトは実行されているように見えますが、git push は行われません。手動で git push を実行すると、スクリプトが失敗した後に、コマンド ラインから呼び出した手動のプッシュと一緒に、発生するはずだったプッシュが発生することに気付きます。スクリプトで発生するはずだったプッシュがキャッシュされ、github にプッシュされていないようです。
ここで私が欠けているものを誰かが提案できますか? このようなスクリプト内で git push を機能させることは可能ですか?
よろしく
リチャード