檔案實時同步後防篡改的操作記錄

2022-05-10 14:52:30 字數 889 閱讀 6936

部署思路:

1)sftp高可用環境部署,參考:

2)rsync+inotify實時同步環境部署,參考:

3)防篡改做法:當檔案被首次實時同步到應用伺服器上後,立馬使用chattr命令將其鎖定,即禁止寫入!可以在應用伺服器上寫乙個鎖定檔案的指令碼,實時執行的!

sftp的上傳目錄是/data/test,實時同步到應用伺服器上的目錄也是/data/test,那麼應用伺服器上的鎖定檔案的指令碼為:

[root@centos6-05 ~]# vim /root/chattr_test.sh 

#!/bin/bash

while [ "1" = "1" ]

dofor a in `ls -l /data/test/|grep -v total|awk ''`;do

/usr/bin/chattr +ai /data/test/$

done

done

實時執行改指令碼:

root 5684 9769 0 21:33 pts/0 00:00:00 grep chattr_test.sh

root 28227 9769 37 18:36 pts/0 01:05:48 sh -x chattr_test.sh

上面指令碼針對的是上傳目錄/data/test下全是檔案,沒有子目錄。如果/data/test 下面有子目錄,那麼就在指令碼中新增find命令查詢對應子目錄下的檔案進行chattr鎖定。

測試效果:

sftp上傳乙個新檔案a,該檔案會實時同步到應用伺服器/data/test 目錄下,接著修改a檔案並上傳覆蓋到sftp目錄下,則該檔案不會覆蓋到應用伺服器的同名檔案了。

監控目錄下的檔案操作與實時同步

若有個需求 要求記錄下某個目錄下的所有操作,包括建立檔案 修改檔案 重新命名 刪除檔案的操作,將以上所有的操作全部記錄到日誌中,或者做其他操作。net提供了乙個方法叫做 system.io.filesystemwatcher 方便powershell來呼叫。具體使用方法,我慢慢解釋。folder c...

Delphi關於記錄檔案的操作 轉

本例子幾個變數的說明 tfilerec record 記錄定義 day integer 其他定義 end f file of tfilerec 標準的輸入 輸出檔案 filrec tfilerec 記錄資料 filename 記錄檔案的名稱 關於記錄檔案的相關操作 1 記錄檔案的開啟 2 記錄檔案的...

Delphi關於記錄檔案的操作 轉

本例子幾個變數的說明 tfilerec record 記錄定義 day integer 其他定義 end f file of tfilerec 標準的輸入 輸出檔案 filrec tfilerec 記錄資料 filename 記錄檔案的名稱 關於記錄檔案的相關操作 1 記錄檔案的開啟 2 記錄檔案的...