отслеживание резервных копий

Обсуждение программ nnCron и nnCron LITE

отслеживание резервных копий

Postby anten » Sun, 13 Sep 2015, 14:55

На домашнем компе настроил фтп сервер и сливаю на него резервные копии. Резервные копии делаются раз в день. Как мне можно отследить, что резервные копии делаются каждый день и отправлять уведомление о пропущенных.
anten
 
Posts: 17
Joined: Sat, 17 Mar 2012, 23:13

Re: отслеживание резервных копий

Postby Morituruz » Sun, 13 Sep 2015, 20:09

Так в чём сложность то?
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: отслеживание резервных копий

Postby anten » Thu, 01 Oct 2015, 01:05

надо скрипт, который срабатывает если самый свежий файл старше 24-х часов. я себе так представляю. а как сделать не могу придумать.
anten
 
Posts: 17
Joined: Sat, 17 Mar 2012, 23:13

Re: отслеживание резервных копий

Postby Morituruz » Thu, 01 Oct 2015, 17:47

Учитывая, что вам достаточно даты изменения, а время необязательно, вам нужно завести переменную для хранения даты, затем в цикле FOR-FILES пройтись по всем файлам в папке и сравнить их дату создания CREATION-DATE с переменной, если оно больше, то сохранить в переменную.
После выхода из цикла сравниваете самую последнюю дату (сохранена в переменной) с текущей датой CUR-DATE, и если они отличаются, то поднимаем панику.
User avatar
Morituruz
 
Posts: 725
Joined: Sun, 14 Oct 2007, 01:51

Re: отслеживание резервных копий

Postby elos » Fri, 02 Oct 2015, 01:43

На всякий случай - ftp-сервер или бекапер настолько "деревянны", что не могут отправить сообщения? Или в них может что-то есть?..

Идея как одной программой в одной строке выполнить... Давно "не брал в руки шашки"... Запустим nnbackup с внешним файлом команд
ftp_check.txt
Code: Select all
copy
-i c:\ftp
-o d:\ftpbackup
-nocopy \ имитировать,  не производить физического копирования/удаления файлов
-RDC 01 \ обрабатывать файлы, которые изменились/появились за последние сутки. Отбор файлов идет по дате создания файла (пример относительной даты - 00/03:45 )
-s      \ учитывать вложенные каталоги при копировании, т. е. копировать файлы из исходного каталога и всех его подкаталогов
-v      \  отображать пути копируемых файлов

По идее, если резервного копирования не было, то должен быть код возврата 1 - "В процессе работы не был обработан ни один файл (нет ни одного файла, удовлетворяющего заданным условиям) (ERR-NO-FILES). "

Остаётся только как-то инвертировать для
Code: Select all
-ra "send_mail_command_line" \ выполнить приложение сразу по окончании основного процесса
-rps    \ выполнить приложение, указанное в опции -ra, только в случае успешного завершения основного процесса
Скорее всего с этим не справимся.
Тогда вспоминаем про сам nncron (слегка подправленный пример из help, раздел "nnCron и язык программирования Форт")
Code: Select all
#( test_xxxxxx
NoActive
Action:
    START-APPW: nnbackup.exe -f ftp_check.txt
    \ кладем на стек код возврата программы
    ExitCodeProc
    \ выводим сообщение в зависимости от кода возврата
    CASE
        \ код возврата 0
        0 OF MSG: "Все в порядке!" ENDOF
        \ код возврата 1
        1 OF MSG: "Отправить почту об отсутствии бекапа!" ENDOF
        \ любые остальные коды возврата
        DUP OF BEEP: 500 500 ENDOF \ можно ли так beep здесь вставлять?
    ENDCASE
)#
Так что вполне в одну задачу можно впихнуться. Жалко, что самим nnbackup нельзя этого сделать. Или можно?
elos
 
Posts: 664
Joined: Tue, 25 Apr 2006, 11:15


Return to nnCron forum (Russian)

Who is online

Users browsing this forum: Bing [Bot] and 2 guests

cron