Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.10.2017, 09:48   #1
emil_rustam
Новичок
Джуниор
 
Регистрация: 26.10.2017
Сообщений: 1
По умолчанию Архивация логов на Python

Доброе время суток!

Есть такая проблема.

Были shell скрипты, которые надо перевести на python.

Последовательность работы shell скрипта:

1.Перейти в заданную папку согласно полученным параметрам (папка, где хранятся логи и папка, куда логи должны быть заархивированы)
2.Идет поиск логов, которые подлежат архивации ()

Вот условие поиска:

'ls | grep -xv app.log | grep -xv InfoNP.log | grep -xv InfoSP.log | grep -xv archive | grep -xv arc | wc -l'

3.Должно быть сжатие файлов из выборки.

4.Сжатые файлы должны быть перемещены в задданную папку.


Теперь о проблеме.

На шаге 2 использую такую команду:

Использую такую команду:

z=subprocess.call(,shell=True)

В ответ получаю 11 и 0. Так понимаю что 11 - это количество файлов из поиска, а 0 - response of subprocess.

Мне нужно заглушить response of subprocess, сжать файлы из выборки и переместить их заданную папку.

Буду очень признателен, если сможете помочь.

Вот shell скрипт, который сейчас это делает:
Код:
#!/bin/bash

#Initial variables
host_name=$(hostname -s)

scriptDir=“$( cd ”$( dirname "${BASH_SOURCE}“ )” && pwd )“
scriptFile=`basename ”$0“`
logFile=$scriptDir'/'”${scriptFile%.*}“'_'$(date +\%Y-\%m-\%d)'.log'

DO_log_folder=”/d01/tomcat/tomcat-7.0.47-Dealer-Online/logs“
DO_log_archive_folder=”/d01/logsarchive/logs/Dealer-Online/“
DO_logstore_folder=”/$host_name/tomcat-7.0.47-Dealer-Online“
LP_log_folder=”/d01/tomcat/apache-tomcat-8.0.35-LandingPage/logs“
LP_log_archive_folder=”/d01/logsarchive/logs/LandingPage/“
LP_logstore_folder=”/$host_name/apache-tomcat-8.0.35-LandingPage“
DOMHM_log_folder=”/d01/tomcat/DealerOnlineMHM_tomcat8/logs“
DOMHM_log_archive_folder=”/d01/logsarchive/logs/DealerOnlineMHM/“
DOMNP_log_folder=”/d01/tomcat/tomcat-7.0.47-Dealer-Online/logs/dealerOnlineMNP/“
DOMNP_archive_folder=”/d01/logsarchive/logs/DOMNP/“

#Procedures
printDate() {
echo `date +'%d/%m/%Y %H:%M:%S'`
}

ArchiveLogs(){
echo ”`printDate`	START Archiving logs from $1 to $2"
cd $1

d=`date +'%Y-%m-%d'`

for i in `find *log* | grep -v $d | grep -v Catalina.out | grep -xv landing.log | grep -xv online.log`; do
tar -cjf $2/$i.bz2 $i –remove-files
if ; then
echo “`printDate`	$i file was archived SUCCESSFULLY”;
else 
echo “`printDate`	$i file archiving”;
fi
done;
echo “`printDate`	FINISH Archiving logs from $1 to $2”
}


#Main block
echo “———————————————-”
echo “`printDate`	Archiving process started”


ArchiveLogs $DO_log_folder $DO_log_archive_folder
ArchiveLogs $LP_log_folder $LP_log_archive_folder
ArchiveLogs $DOMHM_log_folder $DOMHM_log_archive_folder
ArchiveLogs $DOMNP_log_folder $DOMNP_archive_folder

errorCount=`grep -i “error:\|failed\|exception” $logFile | wc -l`
if ; then
echo -e “Error found in log file $logFile\n Error count: $errorCount” | mail -s “ERROR during $(hostname) archiving process” “tdpso@azercell.com”
echo “Mail was sent about errors at `printDate`”
fi


echo “Archiving process finished at `printDate`”
echo “———————————————-”

Последний раз редактировалось Alex11223; 26.10.2017 в 09:52.
emil_rustam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Парсер логов CrazyTetra Общие вопросы Delphi 6 07.10.2011 22:55
Как добраться до логов Винды? puzik_off Win Api 7 24.02.2010 09:47
Обработка интернет логов iskurt Общие вопросы Delphi 8 06.01.2010 00:06
обработка логов в Postfix MarinaOlegovna Помощь студентам 1 30.07.2009 15:36