unix上でdirectory Aをdirectory Bに15分おきに上書きでコピーするにはどうしたらよいでしょうか。

回答の条件
  • 1人2回まで
  • 登録:2008/04/03 14:23:00
  • 終了:2008/04/10 14:25:02

回答(2件)

id:kent013 No.1

kent013回答回数38ベストアンサー獲得回数72008/04/03 14:28:51

ポイント35pt

crontabで.

crontab -e
*/15 * * * * /bin/cp -ru /path/to/directoryA /path/to/directoryB

でどうでしょう.

id:y-kawaz No.2

y-kawaz回答回数1419ベストアンサー獲得回数2252008/04/03 15:38:27

ポイント35pt

rsync でよいんじゃないでしょうか?

-a オプションはパーミッションやタイムスタンプなども全部コピーします。

またディレクトリのミラーの際はディレクトリパスの最後に / を付けておくのが重要です(最後の/が無いとrsync A Bの結果、B/A というディレクトリが出来てしまいますので)

# 単に上書きする場合
rsync -a /path/to/A/ /path/to/B/
# 上書きに加えて、Aで削除されたファイルはBでも削除する場合(完全ミラー)
rsync -a --delete /path/to/A/ /path/to/B/
id:filofax

15分おきにするには?

2008/04/03 15:52:11
  • id:y-kawaz
    すみません、15分おきという点について書くのを忘れていました。
    cron を使って上記コマンドを実行させることで実現できます。
    設定方法は以下の通りです。
    1.crontab -e を実行
    2.viなどのエディタが起動するので以下の1行を追記します。(viではなくemacsを使いたい場合は「EDITOR=emacs crontab -e」を実行します )
    */15 * * * * rsync -a --delete /path/to/A/ /path/to/B/
    3.エディタを保存して終了します。

    crontabの記述は頭の*の部分がスペース区切りで前から 分、時、日、月、曜日 を意味しており「*/15 * * * *」は15分おきに実行することを意味しています。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません