0

私はプログラミングの見習いで、最近端末で完了する仕事を与えられました。何をする必要があるかについて、正しい方向への助けまたはポインタが必要です。

リモート サーバーから特定のファイルをコピーし、タイム スタンプを含めて 1 時間ごとにバックアップする必要があります。SSH を使用してサーバーに接続する方法と、SCP を使用してファイルを転送する方法も知っています。スクリプトを書いているだけなので、助けが必要です。CRONを使用してスケジュールを設定する必要があることはわかっていますが、すべてをまとめる方法がわかりません。Ubuntuの最新バージョンを使用しています。

どんな助けでも大歓迎です。

ありがとう。

4

1 に答える 1

3

次のようにシェルスクリプトを作成するだけです:

#!/bin/bash
scp username@host:file.log file.log.`date +%H%M%S`

(エラーチェックが省略されています - 経由で実行可能にすることを忘れないでくださいchmod u+x)

日付の呼び出しでは、現在の日付/時刻が取得され、タイムスタンプが作成され、それが宛先ログ ファイル名に追加されます。したがって、次のようなものが得られます。

file.log.131504

これは時間ベースですが、代わりに日付が必要になる可能性があります。詳細については、ここと書式設定オプションの日付のマニュアル ページを参照してください。

cron の下のジョブは、縮小された環境 (削減された PATH など) で実行されることに注意してください。そのため、スクリプトに適切な環境変数をすべて設定し、正しいディレクトリなどに cd して、次のような方法で結果をログに記録してください。

* * * * * /home/user/mycronscript.sh 2>&1 >/tmp/test.log
于 2012-12-18T13:13:54.230 に答える