
~からhttps://rsync.samba.org/examples.html、次の例には 2 つのバックアップがあります。最初のバックアップはおよびfind
によって実行され、cp
2番目のバックアップはによって実行されますrsync
。私の質問は最初のバックアップについてです。
私は毎晩rsyncを使用してモデムリンクを介して妻のホームディレクトリをバックアップします。クローンの仕事は次のとおりです
#!/bin/sh cd ~susan { echo date dest=~/backup/`date +%A` mkdir $dest.new find . -xdev -type f \( -mtime 0 -or -mtime 1 \) -exec cp -aPv "{}" $dest.new \; cnt=`find $dest.new -type f | wc -l` if [ $cnt -gt 0 ]; then rm -rf $dest mv $dest.new $dest fi rm -rf $dest.new rsync -Cavze ssh . samba:backup } >> ~/backup/backup.log 2>&1
このスクリプトのほとんどはrsyncとは無関係で、作成するだけです。毎日のバックアップスーザンの作品~susan/backup/ ディレクトリからこのように、彼女は先週のすべてのバージョンを検索できます。
最後の行は、Host Sambaへのモデムリンクを介して彼女のディレクトリをrsyncします。バックアップを必要としない項目に対して、.cvsignoreに項目を追加できる-Cオプションを使用しています。
私の質問は
「~susan/backup/ ディレクトリに」が「
date +%A
dest=~/backup/」で指定されていますか?これはスクリプトを実行しているユーザーのホームディレクトリを~
意味し、そのユーザーはSusanではない可能性があるため、そうでない可能性がありますか?dest
~
~susan
「毎日のバックアップ」を指定しますか
\( -mtime 0 -or -mtime 1 \)
?\( -mtime 0 -or -mtime 1 \)
過去24時間ではなく、過去48時間でファイルが変更されたことを意味しますか?
ありがとうございます。
答え1
"dest=~/backup/date +%A" で "~susan/backup/ ディレクトリに" が指定されていますか?
はい、そうです。実装が仕様と一致しません。
~のdestは、スクリプトを実行しているユーザーのホームディレクトリを表しますか?ユーザーがスーザンではない可能性があるため、〜が〜スーサンを表していない可能性がありますか?
はい。ただし、Susanのすべてのファイルにアクセスできるようにするには、スクリプトを何らかの方法で実行する必要がありますsusan
。 Susanは(または彼女の代わりに)root
運営することもできます。cron
「毎日のバックアップ」は( -mtime 0 - または -mtime 1 )として指定されていますか?
私は、「毎日」は、スクリプトが実行されているターゲットcron
(または現在のシステムタイマー)に応じて決定できると思います。
( -mtime 0 - または -mtime 1 )これは、過去24時間ではなく、過去48時間に変更されたファイルを意味しますか?
はい。-mtime 0
「現在と比較して最も近い24時間に丸めた修正タイムスタンプは0×24時間です」を意味します。これにも当てはまるので、-mtime 1
過去48時間(まあ、厳密に言えば48時間未満)の間に修正されたすべての項目を探します。 。毎日の作業開始時刻の変更を考慮して、合計24時間の変更をキャプチャするには、この情報が必要です。