あっと、共有方法の問題は「一件落着」となりましたが、忘れていた事が一つ。
「昨日、残業して修正した数値が元にもどってる!?」
の件ですが、共有フォルダにファイルを置くと、同じファイルを参照するので、誤った値を上書きされたり、削除されてしまったりという事が少なからず起こります。
その場合、事例1-2:社内でファイル共有をしたいでご紹介したLinuxのファイルサーバーを用いると、「シャドウコピー」という機能を追加する事ができます。
シャドウコピーは、一定の時間毎にバックアップコマンドを作動させて、共有フォルダのファイルを別の場所に保存しておく機能です。
バックアップのプログラムは、Linuxでしたらこちらのサイト様を参考に
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
#!/bin/sh # 変数設定 # バックアップ対象ディレクトリ SAMBA_DIR=/home/samba # バックアップ先ディレクトリ BACKUP_DIR=/home/backup SNAPSHOT_DIR=$(TZ=GMT date +@GMT-%Y.%m.%d-%H.%M.%S) # 最後にバックアップを取得したディレクトリ名を保持しているファイル ROTATE_DATE=14 # バックアップを実施する if [ ! -e $LAST_SNAPSHOT_FILE ]; then mkdir -p $BACKUP_DIR/$SNAPSHOT_MONTH rsync -av $SAMBA_DIR $BACKUP_DIR/$SNAPSHOT_DIR echo $SNAPSHOT_DIR > $LAST_SNAPSHOT_FILE else LAST_SNAPSHOT_DIR=`cat $LAST_SNAPSHOT_FILE` mkdir -p $BACKUP_DIR/$SNAPSHOT_MONTH rsync -av --delete --link-dest=$BACKUP_DIR/$LAST_SNAPSHOT_DIR $SAMBA_DIR $BACKUP_DIR/$SNAPSHOT_DIR echo $SNAPSHOT_DIR > $LAST_SNAPSHOT_FILE fi # バックアップのローテーションを行う LIST=`ls -1 $BACKUP_DIR | grep GMT` for s in $LIST do DEL_SNAPSHOT_DIRDAY=`echo $s | cut -f2 -d"-" | tr -s "." "/" ` DEL_SNAPSHOT_DIRTIME=`echo $s | cut -f3 -d"-" | tr -s "." ":" ` DEL_SNAPSHOT_DIR=`date -d "$DEL_SNAPSHOT_DIRDAY $DEL_SNAPSHOT_DIRTIME" "+%s"` NOW_TIME=`date -d "9 hours $ROTATE_DATE days ago" "+%s"` if [ $DEL_SNAPSHOT_DIR -le $NOW_TIME ]; then rm -rf $BACKUP_DIR/$s fi done |
というバックアッププログラムを動かします。
例えば、御社が9:00~17:00の勤務時間の会社で、お昼休みが12時からだとしますと、、8時と12時に作動するように設定しておけば、万一、誰かが誤った値を上書きしてしまったり、削除してはいけないファイルを削除してしまったとしても、午前中なら朝8時、午後でしたら12時点のファイルに戻す事が可能になり、被害が最小限で済みます。
保存期間は2週間くらいにしておくと、万一発見が遅れて翌週になってから気がついても、元に戻す事ができます。
もちろん、大容量のハードディスクなら一ヶ月とったりする事も可能です。
ただ、バックアップされたフォルダを探し回るのは大変ですので、windows側からも簡単に戻せるようにしておきましょう。
事例1-2:社内でファイル共有をしたいの、sambaの設定に数行追加して
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# See smb.conf.example for a more detailed config file or # read the smb.conf manpage. # Run 'testparm' to verify the config is correct after # you modified it. [global] workgroup = WORKGROUP security = user hosts allow = 192.168.1. interfaces eth0 passdb charset = CP932 display charset = UTF-8 backend = tdbsam wide links = yes #追加 unix extensions = no #追加 follow symlinks = yes #追加 # including include = /etc/samba/%G.conf [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [共有フォルダ] comment = Public Stuff path = /home/samba read only = No guest only = Yes guest ok = Yes vfs objects = recycle recycle:repository = .recycle recycle:keeptree = no recycle:versions = yes recycle:touch = no recycle:maxsize = 0 recycle:exclude = *.tmp ~$* vfs objects = shadow_copy2 #追加 shadow:snapdir = /home/backup #追加 shadow:basedir = /home/samba #追加 shadow:sort = desc #追加 |
と、#追加の部分を新たに記述し、sambaを再起動すると
のように、Windowsからファイルサーバーの「プロパティ」をクリックして、「以前のバージョン」タブに移動すると、簡単に以前のファイル構成に辿り着く事ができます。
これで、「昨日、残業して修正した数値が元にもどってる!?」と誰かが真っ青になっても、朝以降、誰かが誤って書き換えてしまったファイルを「以前のバージョン」から救出して、被害を最小にする事ができます。
業務のフォルダを特定のグループにしか見えないようにする事を含め、お問い合わせからご相談ください。