Как в scp/tar файлы, которые являются промежуточными определенными днями?

В /etc/sysconfig/selinux Вы хотите иметь SELINUX=disabled и перезагрузка.

Источник: http://www.centos.org/docs/5/html/5.2/Deployment_Guide/sec-sel-enable-disable.html

8
18.11.2018, 21:11
2 ответа

Поскольку Bichoy указал, что можно использовать find управляйте, чтобы найти файлы с определенным доступом, создать и время изменения. Однако-mtime берет смещение в 24-часовых инкрементах и не всегда удобен для вычисления, если Вы не хотите что-то от определенной суммы чисел несколько 'дней' назад. Необходимо будет объединить это с -daystart к 'раунду' это к началу дня.

Я думаю более удобный в Вашем случае,-newermt опция, которая берет datestring (а не название ссылочного файла как большинство версий-newerXY)

Объединение это с find -print0 опция обработать файлы с пробелами на имя и дополнительно -type f для не получения любых каталогов в период, Вы интересуетесь:

find /var/lib/edumate/backup/archive_logs/db2inst1/SAAS \
   -newermt 20130310 -not -newermt 20130314 -type f -print0 \
   | xargs -0 tar -cvzf /tmp/saas_archive_logs.tar.gz 

Существует одна большая проблема с этим: в случае, если количество найденных файлов становится к длинному, xargs вызовет его команду (в этом случае tar) многократно как xargs потребности соответствовать аргументам на командной строке, которая весьма конечна. Для хитрости этого, я всегда использую cpio, который читает имена файлов из stdin. С --format=ustar параметр для получения файла tar POSIX, и в случае необходимо было бы передать вывод по каналу через gzip получить желаемый результат:

find /var/lib/edumate/backup/archive_logs/db2inst1/SAAS \
   -newermt 20130310 -not -newermt 20130314 -type f -print0 \
   | cpio --create --null  --format=ustar \
   | gzip > /tmp/saas_archive_logs.tar.gz
12
27.01.2020, 20:10
  • 1
    Я могу указать часы и минуты при использовании кода? –  Radek 15.04.2013, 09:17
  • 2
    , который я попробовал прежде, чем добавить мой комментарий, но..., "находит: Я не могу выяснить, как интерпретировать '201302050000' как дата или время" –  Radek 15.04.2013, 09:30
  • 3
    @Radek, короткий ответ - Да. Я использовал бы YYYYMMDDThhmm в порядке не, должны иметь дело с пробелами. Длинный ответ: находка человека скажет Вам: спецификации Времени интерпретируются что касается аргумента-d опции даты GNU, и с датой человека Вы найдете ... a mostly free format human readable date string ..... A date string may contain items indicating calendar date, time of day, time zone, day of week, relative time, relative date, and numbers –  Anthon 15.04.2013, 09:43
  • 4
    @Radek благодарит указать на ошибку, так как я не мог отредактировать свой комментарий, я повторно вставил новый с a T вставленный между Днями и Часами. То, что я протестировал и работы. Так или иначе find не знает, как разделить строку иначе (вероятно, потому что это мог быть YYMMDDhhmmss вместо YYYYMMDDhhmm. Я думал, что дате будет нужна точка в течение секунд (.ss) но это, вероятно, только для того, чтобы назначить дату. –  Anthon 15.04.2013, 09:44

Можно проверить find команда для получения списка файлов, который должен быть определен вес. Можно указать запуск и дата окончания (до точности секунд) использование нормального -atime , -btime , -mtime ... аргументы в сочетании с -not аргумент. Можно затем передать вывод по каналу к xargs и затем к tar. Проверьте страницу справочника find для получения дополнительной информации об аргументах времени.

Обновление: Как предложенный Anthon, можно использовать +/-модификаторы с -mtime указывать период без использования -not. Вот пример:

find . -mtime -5d2h3m10s -mtime +4d0h15m20s -print0 | xargs -0 tar cjvf mytar.tar.bz2

Где d, h, m, s соответствует дням, часам, минутам и секундам соответственно. Это даст файлы, измененные более новый, чем 5d2h3m10s и более старый, чем 4d0h15m20s

4
27.01.2020, 20:10
  • 1
    аргумент -mtime должно быть смещение в течение многих дней, которое является не всегда, если Вы, которые смещают, не фиксируетесь между временем выполнения. Можно также использовать -mtime +X и -mtime -X указывать прежде и после X дней назад вместо того, чтобы использовать - нет. –  Anthon 12.04.2013, 08:01
  • 2
    Каков был бы синтаксис для определения абсолютной даты и время? –  Radek 15.04.2013, 09:25

Теги

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