Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Архивация помесячно

Ответить
Настройки темы
CMD/BAT - Архивация помесячно

Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Всем привет! Помогите решить задачку.
Есть папка , в ней лежит много логов, логи создаются каждый час. Логи нужно архивировать помесячно. т.е. если файлы лежат больше 60 дней добавлять в архив, в каждом архиве должны быть файлы только одного месяца.
7zip
Понять когда файл создан можно по нескольким условиям, по имени"20120606"-гггг.чч.мм или по дате создания.
Честно всю голову сломал, не как не могу написать согласно этим условиям.

Отправлено: 15:30, 02-07-2013

 

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Сначала корректно сформулируйте ТЗ.

1. Не выходит:
Цитата chelovek1:
помесячно. т.е. если файлы лежат больше 60 дней »
2. В какой момент и с какой частотой будет происходить архивация?

3. Что делать с файлами. прошедшими архивирование?

4. Определитесь:
Цитата chelovek1:
по имени"20120606"-гггг.чч.мм или по дате создания. »

Отправлено: 16:13, 02-07-2013 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Спасибо Вам за отклик!

1. я имел в виду, файлы должны архивироваться через 60 дней, до этого они должны лежать без архивации, чтобы к ним можно было легко обратится.
2. архивация будет проходить раз в месяц.
3. файлы будут лежать в той же папке, переносить не надо.
4. желательно по имени.

Отправлено: 17:02, 02-07-2013 | #3


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата chelovek1:
2. архивация будет проходить раз в месяц. »
Жду ответа на первую часть:
Цитата Iska:
2. В какой момент »
вопроса.

Цитата chelovek1:
3. файлы будут лежать в той же папке, переносить не надо. »
Тогда что значит это:
Цитата chelovek1:
до этого они должны лежать без архивации, чтобы к ним можно было легко обратится. »
Может, Вы не поняли, вопрос был про исходные файлы — что с ними делать?
Это сообщение посчитали полезным следующие участники:

Отправлено: 17:28, 02-07-2013 | #4


Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
#Powershell script.
#Don't forget unlock script executing by 
#using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted"
$TargetDir="C:\Logs"
$60Days=New-TimeSpan -Days 60
$7zipPath="C:\Program Files\7-Zip\7z.exe"
$ArchiveName="$TargetDir\Older_than_"+(Get-Date -Format "yyyyMMdd")+".zip"
Set-Location -Path $TargetDir
$CurFiles=Get-ChildItem .\* -Force | Where-Object {$_.CreationTime -gt ((Get-Date)-$60Days)}
foreach ($el in $CurFiles) {
    cmd /c "`"$7zipPath`" a $ArchiveName $el"
    $el | Remove-Item -Force
}
Проявил свои телепатические навыки

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855


Последний раз редактировалось sunnykey, 02-07-2013 в 18:06. Причина: удалил лишний комментарий

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:05, 02-07-2013 | #5


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


sunnykey, зачем «cmd /c»?

Отправлено: 19:15, 02-07-2013 | #6


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Цитата chelovek1:
2. архивация будет проходить раз в месяц. »
Жду ответа на первую часть:
Цитата Iska:
2. В какой момент »
вопроса. »
1го числа каждого месяца
Цитата Iska:
Цитата chelovek1:
3. файлы будут лежать в той же папке, переносить не надо. »
Тогда что значит это:
Цитата chelovek1:
до этого они должны лежать без архивации, чтобы к ним можно было легко обратится. »
Может, Вы не поняли, вопрос был про исходные файлы — что с ними делать? »
Удалять.

Цитата sunnykey:
Код:
#Powershell script.
#Don't forget unlock script executing by
#using command "Set-ExecutionPolicy RemoteSigned" or "Set-ExecutionPolicy Unrestricted"
$TargetDir="C:\Logs"
$60Days=New-TimeSpan -Days 60
$7zipPath="C:\Program Files\7-Zip\7z.exe"
$ArchiveName="$TargetDir\Older_than_"+(Get-Date -Format "yyyyMMdd")+".zip"
Set-Location -Path $TargetDir
$CurFiles=Get-ChildItem .\* -Force | Where-Object {$_.CreationTime -gt ((Get-Date)-$60Days)}
foreach ($el in $CurFiles) {
cmd /c "`"$7zipPath`" a $ArchiveName $el"
$el | Remove-Item -Force
}
Проявил свои телепатические навыки »
Спасибо, буду пробовать, хотя бы есть от чего отталкиваться

Отправлено: 19:17, 02-07-2013 | #7


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Цитата chelovek1:
Спасибо, буду пробовать, хотя бы есть от чего отталкиваться »
Если заработает, и Вас устроит — отпишитесь: делать DateAdd() в пакетных файлах я точно не буду (и имеющийся здесь, в разделе, код тоже не возьму).

Отправлено: 19:28, 02-07-2013 | #8


Новый участник


Сообщения: 4
Благодарности: 0

Профиль | Отправить PM | Цитировать


Если не затруднит предложите вариант на CMD, надеюсь не очень нагло с моей стороны

Отправлено: 19:55, 02-07-2013 | #9


Аватара для sunnykey

Пользователь


Сообщения: 124
Благодарности: 47

Профиль | Отправить PM | Цитировать


Цитата Iska:
sunnykey, зачем «cmd /c»? »
У меня без него 7-zip в консоль не выводит
Цитата chelovek1:
Если не затруднит предложите вариант на CMD, надеюсь не очень нагло с моей стороны »
Не идёшь ты в ногу со временем в месте с Microsoft. Время будет перенесу свой код

-------
cmd умри, powershell живи=)
Powershel 4.0 microsoft.com/ru-ru/download/details.aspx?id=40855


Отправлено: 00:46, 03-07-2013 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Архивация помесячно

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - Архивация папок weranc Скриптовые языки администрирования Windows 2 22-01-2012 14:01
Ошибка - архивация данных domchik Microsoft Windows 2000/XP 15 07-12-2009 02:48
Разное - Архивация lexa58 Microsoft Windows 7 1 31-07-2009 01:53
архивация данных Svetlanaj Microsoft Windows NT/2000/2003 2 13-04-2006 12:11
архивация ВИДЕО!! borisABl Хочу все знать 3 31-01-2006 15:44




 
Переход