2014-11-04 4 views
0

Я запускаю сценарий оболочки в среде Linux, чтобы создать несколько журналов (динамических файлов журналов) в виде текстовых файлов.Сохранение журналов времени выполнения в папке

Я хочу сохранить все файлы журнала, созданные в одну папку, через определенное время.

Так как я могу это сделать? Может кто-нибудь предложить некоторые команды?

Заранее спасибо.

ответ

0

В скрипте вы можете определить этот каталог как переменную, и вы можете использовать его по сценарию.

#!/bin/bash 

LOG_DIR=/tmp/logs 
LOG_FILE=$LOG_DIR/log_file.$$ ## $$ will create the different log file for each and every run 
           ## You can also do it by using some time stamp using date command. 

<Your commands> >> $LOG_FILE 
+0

Hi Shriharsha, я выполняю некоторые команды сбора статистики сервера в severs Linux, и содержимое файла журналов обновляется в течение определенного периода времени. Поэтому после определенного промежутка времени я хочу сохранить все созданные файлы в 1 папке, чтобы мне было легко собрать. Еще одна вещь, которую должна создать папка после завершения выполнения сценария оболочки. – user3627319

+0

Привет, Shriharsha, я могу создать папку (с разрешениями), в которой я буду хранить журналы времени выполнения. Я использую команду LOG_DIRECTORY1 = $ (mkdir -m 777 DEMO _ $ {HOST} _ $ {NOW1} _50users) для создания каталога с разрешением. После этого я создаю журнал командой vmstat -n 10 400> VMStat_DEMO _ $ {HOST} _ $ {NOW} .txt &. После этого для перемещения созданного файла в созданную директорию я использую команду mv -t $ LOG_DIRECTORY1 VMStat_DEMO _ $ {HOST} _ $ {NOW} .txt. Но это не работает. HOST и NOW являются предопределенной переменной. пожалуйста помогите. – user3627319

0

Это действительно зависит от вашей ситуации:

[Предлагаемые если файлы журналов имеют небольшой размер] Вы можете сделать резервную копию ваших журналов, просто добавить задание, и почтовый/деготь его другой папки, в качестве моментального снимка. Поскольку файлы журналов небольшие, даже zip/tar, возможно, потребуется много лет для заполнения вашего жесткого диска.

[Рекомендуется, если ваши файлы журналов большие] В вашем скрипте, который генерирует журналы, вы можете повернуть по нескольким индексированным файлам, скажем, log.0 до log.6, каждый в течение одного недели, с воскресенья до субботы. И у вас может быть другой скрипт для резервного копирования вчерашнего журнала (так что у него не будет условий гонки между производителем журнала и потребителем журнала, т. Е. Логом/копиром). У вас могут быть стратегии для того, сколько дней резервного копирования будет существовать, и сколько времени они должны быть отброшены.

Вчерашний журнал/копир «вчерашний» можно легко выполнить с помощью задания cron.

Смежные вопросы