Я пытаюсь архивировать текст, файлы CSV от папки еженедельно. На основе ответа, данного моему более раннему вопросу, я получил эту работу кода.
sudo find . -mtime +7 | sudo zip -m archive-$(date +%Y-W-%U).zip -@
Я хотел бы точно настроить это немного больше так, чтобы:
Я думал, что получил первую часть с ниже команды, но это продолжает замерзать.
sudo find . -mtime +7 | sudo zip -m -x /*excludestring1* /*excludestring2* archive-$(date +%Y-W-%U).zip -@
Я не могу выяснить способ сохранить его к другому местоположению. Я мог включать "*.zip" как исключение, но я предпочту сохранять его к другому местоположению. Мог кто-то помогать мне выяснить то, что я делаю неправильно.
страница справочника указывает, что эти \
должен использоваться, чтобы избежать замены имени файла оболочки и позволить zip
, разворачивают подстановочные знаки самой.
, Кроме того, можно использовать эти -x
переключатель для определения файла, перечисляющего любые исключения в формате -x@excludes.lst
На немного отличающемся гвозде, эти find
, команда имеет -not
и -path
опции, которые могут использоваться для подобного эффекта.
Для исключения некоторых шаблонов используйте -x
опция в конце и используйте одинарные кавычки вокруг шаблонов так, чтобы шаблоны были расширены на zip
не оболочкой:
sudo find . -mtime +7 | sudo zip -m archive-$(date +%Y-W-%U).zip -@ -x '/*excludestring1*' '/*excludestring2*'
Для сохранения zip-файла к другому местоположению используйте полный путь (или относительный путь) к местоположению, которое Вы хотите сохранить zip
файл:
sudo find . -mtime +7 | sudo zip -m -x /*excludestring1* /*excludestring2* /where/to/save/archive-$(date +%Y-W-%U).zip -@
Замена /where/to/save
с фактическим путем, где Вы хотите сохранить zip-файл.
, Например, для сохранения его в /tmp/spam/
каталог:
sudo find . -mtime +7 | sudo zip -m -x /*excludestring1* /*excludestring2* /tmp/spam/archive-$(date +%Y-W-%U).zip -@