2017-03-01 64 views
1

我不想使用lsyncd創建備份的修改後的文件作爲後綴日期/時間字符串。 如果我使用lua設置後綴選項(在lsyncd.conf文件中),那麼在啓動守護進程時計算一次日期/時間,並且在每次同步迭代時都不更新日期/時間。 這導致每個修改後的文件只有一個備份文件(具有相同的後綴),我希望爲每個文件的每次修改創建一個新的備份文件。 我使用的配置文件如下:lsyncd無法使用動態備份後綴

-- global settings 
settings { 
    delay  = 5, 
    maxProcesses = 5, 
    statusFile = "<STATUS_FILE_PATH>", 
    logfile  = "<LOG_FILE_PATH>", 
    insist  = true 
} 

-- target nodes 
nodes = { 
{ source = "/home/<USER>/sync", target = "<TARGET_IP>:/home/<USER>/sync"}, 
} 

-- execution 
time = os.date("*t") 
datetime = (time.year .. time.month .. time.day .. time.hour .. time.min .. time.sec) 
for _, node in ipairs(nodes) do 
    sync { 
    default.rsync, 
    source = node.source, 
    target = node.target, 
    rsync = { 
     compress = true, 
     checksum = true, 
     perms  = true, 
     rsh  = "/usr/bin/ssh -i /home/<USER>/.ssh/id_dsa -o StrictHostKeyChecking=no", 
     times  = true, 
     verbose = true, 
     _extra = { "--backup", "--suffix=" .. datetime }, 
    } 
    } 
end 

如果我試圖通過慶典的日期功能在後綴選項,如:

_extra = { "--backup", "--suffix=_$(date +\"%Y%m%d%H%M%S\")" }, 

它轉換爲字符串,不計算該值導致備份文件的名稱如下:

testfile.txt_$(date +"%Y%m%d%H%M%S") 

我只能使用2.1.4版本的lsyncd。 是否可以創建動態備份文件後綴?

回答

0

未經測試。不過,試試這個

--suffix =`日期+ 「%F」`

+0

不起作用。文件保存爲:testfile.txt'date +「%F」' –