Zip-файлы в еженедельный архив с недельным числом

Я пытаюсь взять еженедельный архив папки для разделения zip-файлов.

find . -name '*.txt' -ctime +7 -exec zip "archive-$("date+%Y-%U").zip" {} \;

Я застреваю о том, как назвать zip-файл. Любой альтернативный способ сделать это также приветствовалось бы. (как лучшее использование сжатия 7z или что-то еще)

0
задан 22 June 2015 в 12:19

3 ответа

Это должно быть достаточно для Вашего случая:

 find . -name '*.txt' -ctime +7 | zip archive-$(date +%Y%U).zip -@
<час>

пример:

find . -name '*.txt' -ctime +7 | zip archive-$(date +%Y%U).zip -@

вывод:

  adding: a.txt (stored 0%)
  adding: b.txt (stored 0%)

Теперь для проверки в именовании:

 ls

вывод:

archive-201525.zip  a.txt  b.txt  c
3
ответ дан 4 October 2019 в 02:37

Первое свидание имеет формат YYYYMMDD, который является, как я называю свои резервные копии. Вторым примером является недельное число (%U) с начальным нулем как Вы спрошенный. Ой, должен выйти из тех одинарных левых кавычек.

#!/bin/bash # Do 'man strftime' for more date format options. mydate=`date +"%Y%m%d"` basedir=/home/username/backups zipfile=$basedir/backup-$mydate.zip echo File name is $zipfile # Now get week number with %U. mydate=`date +"%U"` echo Mydate with week number is $mydate zipfile=$basedir/backup-$mydate.zip echo Zipfile is $zipfile

0
ответ дан 4 October 2019 в 02:37

Попробуйте этот сценарий:

#!/bin/sh
   Case (find) in
     name="true"
     name="(name.zip)"
     find . -name '*.txt' -ctime +7 'name=("name of the file")' -exec zip "archive-$("date+%Y-%U").zip" {} \;
   endl

и это могло бы хорошо работать этот путь.

-1
ответ дан 4 October 2019 в 02:37

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

Похожие вопросы: