我不想使用lsyncd作为后缀添加日期/时间字符串来创建已修改文件的备份。 如果我使用lua设置后缀选项(在lsyncd.conf文件中),则在启动守护程序时计算一次日期/时间,并且在每次同步迭代时不更新日期/时间。 这导致每个修改的文件只创建一个备份文件(具有相同的后缀),并且我希望每个文件的每个修改创建一个新的备份文件。 我使用的配置文件如下:
-- 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
如果我尝试在后缀选项中传递bash的日期函数,如下所示:
_extra = { "--backup", "--suffix=_$(date +\"%Y%m%d%H%M%S\")" },
它会在不计算值的情况下转换为字符串,从而生成一个名称如下的备份文件:
testfile.txt_$(date +"%Y%m%d%H%M%S")
我只能使用lsyncd的2.1.4版本。 是否可以创建动态备份文件后缀?
答案 0 :(得分:0)
未经测试。但试试这个
- suffix =`date +&#34;%F&#34;`