mountした共有フォルダにrsyncとcrontabでバックアップ設定

UbuntuでUSBメモリのマウント、アンマウント、フォーマット

Ubuntuのファイルを別PC(Win)に接続してバックアップ

sudo apt-get install cifs-utils(ないとエラー)

sudo mount -t cifs -o user=s.okamura,password=1234 //192.168.102.4/Desktop /mnt/LIFEBOOK-A
mountは自動でマウントされない。

sudo umount /mnt/LIFEBOOK-A
アンマウント

自動接続するためには、
/etc/fstab
に記述する。

//192.168.102.4/Desktop /mnt/LIFEBOOK-A cifs username=s.okamura,password=1234 0 0

1列目: デバイス名
2列目: マウントポイント
3列目: ファイルシステム
4列目: マウント時のオプション
5列目: ファイルシステムをdumpするかどうか。0はdump不要
6列目: システム起動時のfsckチェック。0はチェックを行わない。
    ルートファイルシステムでチェックは1。ルートファイルシステム以外でチェックは2。

sudo mount -a
でfstabが正しいかどうか試験できる

crontab

crontabコマンドはユーザ毎のcronで、
/var/spool/ユーザー名
毎に管理されるもよう。

削除
crontab -r
一覧
crontab -l
編集
crontab -e

システム全体の設定ファイル
/etc/crontab 
ここのファイルから、
毎時実行
/etc/cron.hourly 
毎日実行
/etc/cron.daily
毎週実行
/etc/cron.weekly
毎月
/etc/cron.monthly
を引っ張ってきている模様。

システム全体の設定ファイルのディレクトリ
/etc/cron.d

/etc/anacrontab
cronとは別のジョブ管理で遅延実行で
管理の粒度が1日単位らしい。

今回は、/etc/cron.dの中にファイルを作る。

rootで644にする。

次は、

分 時 日 月 曜日 実行ユーザ 実行コマンド

となる。

*/5 * * * * root rsync -a –delete /home/okamura/f/ /mnt/LIFEBOOK-A/ThinkPad-SL510-backup

ここで、 * */1 * * * とすると1分毎になるので注意(スラッシュはその間隔で実行)なので、
1時間毎であれば、0 * * * * のようにすればOK。

記載の数字は間隔ではなく、その記載の数字の時刻に実行され、アスタリスクは、単位毎の意味、
右から見ていって有効な数字があるとその単位毎になっていく。

状態確認
sudo service cron status

ログ確認
cat /var/log/syslog 

rsync

rsync オプション コピー元 コピー先
コピー元で最後/があるとフォルダの中身だけ、/がないとフォルダ自身も含めてとなる。

lsyncd

sudo apt-get install lsyncd
lsyncd -version
バージョンによって設定方法が変わっている。

sudo mkdir /etc/lsyncd

sudo vim /etc/lsyncd/lsyncd.conf.lua
設定ファイルは、
/etc/init.d/lsyncd
を見るとパスが分かる。

settings{
logfile = “/var/log/lsyncd.log”,
statusFile = “/tmp/lsyncd.stat”,
statusInterval = 1,
}
sync{
default.rsync,
delay = 0,
source=”/home/okamura/test/”,
target=”/home/okamura/test2/”,
rsync = {
archive = true,
}
}

sudo /etc/init.d/lsyncd start

ps -aux | grep lsyncd
で起動しているか確認

転送先で適当なファイルを削除したあと、転送元フォルダで何か変更をしてlsyncdが動いても、
完全に転送元と転送先で同じ状態にならない。転送先で消したファイルが転送元よりコピーされない。
ただ、lsyncdの起動時やrestart時は同じ状態でも転送元よりコピーされる。
設定の問題なのだろう、後々確認。