Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Unix-системы Новый топик    Ответить
 Создание скрипта sh для бэкапа файлов и очистки на Oracle Linux 7.6  [new]
selyukm
Member

Откуда:
Сообщений: 44
Добрый день!
Имеется папка TEST, в которой есть подпапки с файлами:
/u03/TEST/1/aaa.16a
/u03/TEST/2/bbb.rtf
/u03/TEST/3/c.cc

Требуется написать скрипт, который будет целиком всю папку TEST с подпапками и файлами добавлять в архив ZIP и ложить его в /u03/backup.
А далее делать очистку этой папки TEST:
т е папка и подпапки остаются, но все пустые, т е поудалять все файлики в них.

Подскажите, пожалуйста, как написать такой скрипт.
12 июл 19, 11:51    [21925597]     Ответить | Цитировать Сообщить модератору
 Re: Создание скрипта sh для бэкапа файлов и очистки на Oracle Linux 7.6  [new]
bga83
Member

Откуда: Город герой Ленинград
Сообщений: 30700
selyukm
Добрый день!
Имеется папка TEST, в которой есть подпапки с файлами:
/u03/TEST/1/aaa.16a
/u03/TEST/2/bbb.rtf
/u03/TEST/3/c.cc

Требуется написать скрипт, который будет целиком всю папку TEST с подпапками и файлами добавлять в архив ZIP и ложить его в /u03/backup.
А далее делать очистку этой папки TEST:
т е папка и подпапки остаются, но все пустые, т е поудалять все файлики в них.

Подскажите, пожалуйста, как написать такой скрипт.
man zip
man find
12 июл 19, 17:43    [21925965]     Ответить | Цитировать Сообщить модератору
 Re: Создание скрипта sh для бэкапа файлов и очистки на Oracle Linux 7.6  [new]
mefman
Member

Откуда:
Сообщений: 2589
bga83
ложить его в /u03/backup.
man zip
man find[/quot]
ну и man русский_язык для комплекту.
14 июл 19, 13:59    [21926382]     Ответить | Цитировать Сообщить модератору
 Re: Создание скрипта sh для бэкапа файлов и очистки на Oracle Linux 7.6  [new]
selyukm
Member

Откуда:
Сообщений: 44
Необходимо 1 раз в месяц 1 числа ночью:
1)
Запаковать в архив
две папки с подпапками и файлами:
/u03/folder1
/u03/folder2
И положить его в /u03/TESTbackup

2)
Почистить обе эти папки(удалить все файлы, которым более 30 дней)
/u03/folder1
/u03/folder2

Действия
1)
Положить скрипт test.sh в /u01/SCRIPT

2)
добавить задание в CRON
(/var/spool/cron, файл root, запуск от имени юзера orcl):

Запуск задания 1 числа каждого месяца в 2 ночи (02:00):
00 2 1 * * su - orcl -c "/u01/SCRIPT/test.sh"


САМ СКРИПТ test.sh:

#!/bin/sh
date > /u01/SCRIPT/test.log

zip -r /u03/TESTbackup/"testzip-$(date +"%Y-%m-%d").zip" /u03/folder1 /u03/folder2 \;
find /u03/folder1/. /u03/folder2/. -name '*' -mtime +30 -print -exec rm '{}' \;

exit

Так надо делать?
15 июл 19, 11:28    [21926630]     Ответить | Цитировать Сообщить модератору
 Re: Создание скрипта sh для бэкапа файлов и очистки на Oracle Linux 7.6  [new]
bga83
Member

Откуда: Город герой Ленинград
Сообщений: 30700
selyukm
Необходимо 1 раз в месяц 1 числа ночью:
1)
Запаковать в архив
две папки с подпапками и файлами:
/u03/folder1
/u03/folder2
И положить его в /u03/TESTbackup

2)
Почистить обе эти папки(удалить все файлы, которым более 30 дней)
/u03/folder1
/u03/folder2

Действия
1)
Положить скрипт test.sh в /u01/SCRIPT

2)
добавить задание в CRON
(/var/spool/cron, файл root, запуск от имени юзера orcl):

Запуск задания 1 числа каждого месяца в 2 ночи (02:00):
00 2 1 * * su - orcl -c "/u01/SCRIPT/test.sh"


САМ СКРИПТ test.sh:

#!/bin/sh
date > /u01/SCRIPT/test.log

zip -r /u03/TESTbackup/"testzip-$(date +"%Y-%m-%d").zip" /u03/folder1 /u03/folder2 \;
find /u03/folder1/. /u03/folder2/. -name '*' -mtime +30 -print -exec rm '{}' \;

exit

Так надо делать?
пробовали запускать? если отрабатывает как требуется, то все сделано верно, если нетт, то нет
15 июл 19, 13:13    [21926730]     Ответить | Цитировать Сообщить модератору
 Re: Создание скрипта sh для бэкапа файлов и очистки на Oracle Linux 7.6  [new]
Sergey Orlov
Member

Откуда: СПб
Сообщений: 4342
selyukm

САМ СКРИПТ test.sh:

#!/bin/sh
date > /u01/SCRIPT/test.log

zip -r /u03/TESTbackup/"testzip-$(date +"%Y-%m-%d").zip" /u03/folder1 /u03/folder2 \;
find /u03/folder1/. /u03/folder2/. -name '*' -mtime +30 -print -exec rm '{}' \;

exit

Так надо делать?

дык первую строчку надо сделать по примеру 2-ой...
find ... -type f -exec zip ... {} \;

И еще один нюанс, прописать полный путь к исполняемым файлам...
15 июл 19, 16:21    [21926928]     Ответить | Цитировать Сообщить модератору
Все форумы / Unix-системы Ответить