lsyncd не может использовать суффикс динамического резервного копирования

Я не хочу использовать lsyncd для создания резервных копий измененных файлов, используя в качестве суффикса строку даты / времени. Если я установлю опцию суффикса (в файле lsyncd.conf), используя lua, дата / время вычисляются один раз, когда я запускаю демон, и не обновляются на каждой итерации синхронизации. Это приводит к созданию только одного файла резервной копии на каждый измененный файл (с тем же суффиксом), и я хочу создать новый файл резервной копии на модификацию для каждого файла. Конфигурационный файл, который я использую, следующий:

-- 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")

Я ограничен использованием версии 2.1.4 lsyncd. Можно ли создать динамические суффиксы файла резервной копии?

1 ответ

Не испытано. Но попробуйте это

--suffix=`date +"%F"`

Другие вопросы по тегам