我最近把資料庫系統換成了SQLite,直接放到RamDisk去執行。今天想要寫支程式,可以定時檢查RamDisk,裡面的sqlite檔有沒有變動,有變動就備份到硬碟去。於是使用Ruby寫下了:
FILE_TO_CHECK = ARGV[0]
FILE_TO_SAVE = ARGV[1]
if !File.exists?(FILE_TO_SAVE)
`cp #{FILE_TO_CHECK} #{FILE_TO_SAVE}`
exit
end
check_file = File.new FILE_TO_CHECK
save_file = File.new FILE_TO_SAVE
if check_file.mtime > save_file.mtime
`cp #{FILE_TO_CHECK} #{FILE_TO_SAVE}`
end
不錯,不錯,想說這樣這隻程式可以放到crontab去,將來有同樣要檢查的檔案就編輯在crontab裡:
0 * * * * ruby /check_file.rb sinkfile sourcefile
不過做到這邊,突然想到,安裝rsync
不就行了,直接
0 * * * * rsync sinkfile sourcefile
rsync就是檢查檔案有無更動,有更動的才會複製,而且它是這麼老牌又穩定的lib了,呵呵,沒關係,就當做是在練習使用vim編輯器
沒有留言:
張貼留言