Форум программистов, компьютерный форум, киберфорум
Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
30 / 30 / 21
Регистрация: 19.02.2011
Сообщений: 171

Создать назначенное задание реализующее следующий механизм создания резервного копирования данных в каталоге

20.12.2012, 16:32. Показов 1351. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите что тут не так и как должно работать?

Задание:

Создать назначенное задание реализующее следующий механизм создания резервного копирования данных в каталоге.
Данные представлены виде набора лог файлов и имеют расширения .log. Формат имени файла YYYYMMDD.log, где YYYY – год лог файла, MM- месяц, DD – день лог файла.
Необходимо ежедневно архивировать лог файлы с датой ранее 3 дней от текущей даты. Лог файлы должны создаваться по принципу:
1. Если не прошел месяц, то файлы просто архивируются за каждую дату и остаются в каталоге с логами
2. Если прошло более месяца и 3 дня, то все файлы за прошлый месяц должны быть с архивированы в один файл и переписаны в другой каталог.
3. Файлы за последние 3 дня не подлежат архивации.
4. * - Логи за субботу и воскресенье хранятся в отдельных файлах в отличие от всех остальных архивов.



Вот исходник

lab12-1.bat
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#echo set folder. ex: /home/name/12/
read folder
folder=/home/name/12/
cd $folder
 
crontab /home/name/12/date3.bat
 
echo %%a>_name.txt
 
 
crontab /home/name/12/lab12-2.bat
 
 
 
del _B.txt
del _buf.txt
del _date+3.txt
del _date+month+3.txt
del _name.txt
 
echo END!
pause
lab12-2.bat

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
echo set folder. ex: /home/name/12/
read folder
folder=/home/name/12/
cd $folder
 
read file_name
file_name=<_name.txt
 
set aa=`expr substr "$file_name" 0 1`
if [$aa = 3]
then
 goto st
if [$aa = 2]
 then
goto st 
if [$aa = 1] 
then
goto st
if [$aa = 0] 
then 
goto st
 
goto end
 
:st
 
G=`expr substr "$file_name" 0 4`
M=`expr substr "$file_name" 4 2`
D=`expr substr "$file_name" 6 2`
buf=`expr substr "$file_name" 9 3`
 
dd=`expr substr "$file_name" 0 8`
 
 
read d3=<_date+3.txt
read dm3=<_date+month+3.txt
 
# subbota ili voskresenie
start /WAIT DAY.EXE
read b=<_b.txt
 
if [ $buf = log] 
 
    if ["$dd" LEQ "$d3"] 
    
        if ["$dd" GTR "$dm3"] 
            if [$b = 1] 
        then
    echo $i : $D
    tar rf "weekend_$i.tar" "$i"
        else 
        tar rf "$i.tar" "$i"
 
        elif ["$dd" LEQ "$dm3"] 
        then
        if [$b = 1] 
    echo $i : $G $M
    tar rf "weekend_$i.tar" "$i""
        mv "$i" "backups"
     else        tar rf "$i.tar" "$i"
         mv "$i" "backups"
                    fi
                   fi
        fi
    fi
 
fi 
 
done
 
read a
date3.bat

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
#echo set folder. ex: /home/name/12/
read folder
folder=/home/name/12/
cd $folder
 
date_now=`date`
 
dd=`expr substr "$date_now" 0 2`
mm=`expr substr "$date_now" 3 2`
gg=`expr substr "$date_now" 6 4`
 
 
 
buf=`expr substr "$dd" 0 1`
if  [$buf = 0] 
then
echo `expr substr "$dd" 1 1` >_buf.txt
 else 
echo $dd >_buf.txt
                            
)
read dd=<_buf.txt
                            
if [$mm = 02]
 then 
read ddm=31
 
 elif [$mm = 03] 
then
 read ddm=28
 
 elif [$mm = 04] 
then
 read ddm=31
 
 elif [$mm = 05] 
then
 read ddm=30
 
 elif [$mm = 06] 
then
 read ddm=31
 
 elif [$mm = 07] 
then
 read ddm=30
 
 elif [$mm = 08] 
then
 read ddm=31
 
 elif [$mm = 09] 
then
 read ddm=31
 
 elif [$mm = 10] 
then
 read ddm=30
 
 elif [$mm = 11] 
then
 read ddm=31
 
 elif [$mm = 12]
then
 read ddm=30
 
 elif [$mm = 01]
 then
 read ddm=31
                        
 
 
read dd_1=$dd + $ddm - 3
read dd_2=$dd - 3
 
if [$dd_1 LEQ 9] 
then
echo 0$dd_1>_buf.txt
dd_1=<_buf.txt
 
if [$dd_2 LEQ 9] 
then
echo 0$dd_2>_buf.txt
dd_2=<_buf.txt
 
 
 
gg_1=$gg
read gg_1=$gg - 1
 
 
if [$mm = 02] 
then
 echo 01>_buf.txt
 elif [$mm = 03] 
then
 echo 02>_buf.txt
 
 elif [$mm = 04]
then
 echo 03>_buf.txt
 
 elif [$mm = 05] 
then
 echo 04>_buf.txt
 
 elif [$mm = 06] 
then
 echo 05>_buf.txt
 
 elif [$mm = 07] 
then
 echo 06>_buf.txt
 
 elif [$mm = 08] 
then
 echo 07>_buf.txt
 
 elif [$mm = 09] 
then
 echo 08>_buf.txt
 
 elif [$mm = 10] 
then
 echo 09>_buf.txt
 
 elif [$mm = 11] 
then
 echo 10>_buf.txt
 
 elif [$mm = 12] 
then 
echo 11>_buf.txt
 
 elif [$mm = 01]
 then
 echo 12>_buf.txt
 
mm_1=<_buf.txt
 
if [$mm_1 = 02] 
then
 echo 01>_buf.txt
 
 elif [$mm_1 = 03] 
then
 echo 02>_buf.txt
 
 elif [$mm_1 = 04] 
then
 echo 03>_buf.txt
 
 elif [$mm_1 = 05]
 then
 echo 04>_buf.txt
 
 elif [$mm_1 = 06] 
then 
echo 05>_buf.txt
 
 elif [$mm_1 = 07] 
then
 echo 06>_buf.txt
 
 elif [$mm_1 = 08] 
then
 echo 07>_buf.txt
 
 elif [$mm_1 = 09] 
then
 echo 08>_buf.txt
 
 elif [$mm_1 = 10] 
then
 echo 09>_buf.txt
 
 elif [$mm_1 = 11] 
then
 echo 10>_buf.txt
 
 elif [$mm_1 = 12] 
then
 echo 11>_buf.txt
 
 elif [$mm_1 = 01] 
then
 echo 12>_buf.txt
 
mm_2=<_buf.txt
 
 
 
# RESULT!!!!!!!!!!!!!!!!!!!!!!!
if [$dd LSS 04] 
then
 
    if [$mm_1 = 12]
then
    echo $gg_1$mm_1$dd_1>_date+3.txt
        echo $gg_1$mm_2$dd_1>_date+month+3.txt
 
     else  echo $gg$mm_1$dd_1>_date+3.txt
        if [$mm_2 = 12] 
then
 echo $gg_1$mm_2$dd_1>_date+month+3.txt
         else 
 echo $gg$mm_2$dd_1>_date+month+3.txt
    
 
 else 
 
    echo $gg$mm$dd_2>_date+3.txt
 
    if [$mm_1 = 12] 
then
 echo $gg_1$mm_1$dd_2>_date+month+3.txt
     else 
 echo $ggmm_1$dd_2>_date+month+3.txt)
        fi
    fi
fi
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2012, 16:32
Ответы с готовыми решениями:

Создать назначенное задание из cmd
Привет всем. Можно ли создать назначенное задание коммандой полностью автоматически бзе воода доп. паролей (под Админом) с триггером...

Программа для резервного копирования/переноса данных
Добрый день! Нужен Ваш совет уважаемые пользователи форума. Имеется компьютер Acer Aspire L100 A (AMD Athlon 64x2/3800+/1/250/6150/DVD...

Описать принцип осуществления резервного копирования и восстановления данных
описать принцип осуществления резервного копирования и восстановления данных?

8
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
21.12.2012, 02:25
Цитата Сообщение от Simak63 Посмотреть сообщение
Подскажите что тут не так
это даже не bash
0
30 / 30 / 21
Регистрация: 19.02.2011
Сообщений: 171
21.12.2012, 12:19  [ТС]
я просто закинул в bash. а так это код terminala в Linux))
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
21.12.2012, 15:00
Цитата Сообщение от Simak63 Посмотреть сообщение
а так это код terminala в Linux))
терминал в линукс - это bash
0
30 / 30 / 21
Регистрация: 19.02.2011
Сообщений: 171
21.12.2012, 18:16  [ТС]
Ну и чем же код не устраивает?
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
22.12.2012, 08:48
Цитата Сообщение от Simak63 Посмотреть сообщение
Ну и чем же код не устраивает?
Цитата Сообщение от Simak63 Посмотреть сообщение
Bash
1
read d3=<_date+3.txt
вот, к примеру, бред какой-то

Code
1
2
3
4
[guest@localhost ~]$ touch '_date+3.txt'
[guest@localhost ~]$ read d3=<_date+3.txt
bash: read: `d3=': неправильный идентификатор
[guest@localhost ~]$
Добавлено через 2 минуты
Цитата Сообщение от Simak63 Посмотреть сообщение
Bash
1
if [$dd_1 LEQ 9]
это тоже бред
сделай man test
0
30 / 30 / 21
Регистрация: 19.02.2011
Сообщений: 171
22.12.2012, 11:36  [ТС]
read d3=<_date+3.txt

Это означает. что к переменной
d3 взять значение из текстового файла _date+3.txt

if [$dd_1 LEQ 9]
LEQ-это Арифметический оператор, обозначающий "меньше или равно"

Как прописать его в Linux. Заменить LEQ на правильность
0
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
22.12.2012, 12:50
Цитата Сообщение от Simak63 Посмотреть сообщение
if [$dd_1 LEQ 9]
LEQ-это Арифметический оператор, обозначающий "меньше или равно"
где ты это вообще взял, в батниках чтоли ?

Цитата Сообщение от Simak63 Посмотреть сообщение
read d3=<_date+3.txt
Это означает. что к переменной
d3 взять значение из текстового файла _date+3.txt
вот я так и подумал

bash - это вообще другая командная оболочка, в ней используются её собственные команды со своим синтаксисом, она не имеет вообще ничего общего с cmd.exe

само задание тоже не из простых
0
30 / 30 / 21
Регистрация: 19.02.2011
Сообщений: 171
22.12.2012, 13:16  [ТС]
Просто для виндууса я писал батники с этой программой, а для linux нет. И не знаю как. поэтому и прошу помощи
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.12.2012, 13:16
Помогаю со студенческими работами здесь

Использование резервного копирования для защиты данных в информационных системах.
ВСЕМ ЗДРАВСТВУЙТЕ!!! У меня очень важный вопрос (для меня выжный =)): Кому-нибудь известно, что-нибудь о том, как можносоздать...

Создать класс, в котором механизм перемещения кнопки, для создания его экземпляров
Доброго времени суток, форумчане! Помогите, пожалуйста, новичку ... Имеется два метода с механизмом перемещения кнопки: ...

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

Скрипт резервного копирования
Помогите, пожалуйста, написать скрипт резервного копирования заданной директории, имя архива должно содержать текущую дату. Буду очень...

Организация резервного копирования
Всем ку! Подскажите источники (литературу, интернет ресурсы), по которым можно было бы изучить общие подходы к организации резервного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru