Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Как правильно написать sh для коректной работы в cron?

Ответить
Настройки темы
Как правильно написать sh для коректной работы в cron?
zai zai вне форума

Аватара для zai

Ветеран


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


Конфигурация

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


Изменения
Автор: zai
Дата: 07-07-2016
для бэкапа:

Код: Выделить весь код
#!/bin/sh

find /home/backup/* -mtime +30 -exec rm -r {} \;
mkdir -p /home/backup/"$(date '+%F_%T')"
cd /var/www/html/
tar cjf /home/backup/"$(date '+%F_%T')"/vtigercrm.tar.bz2 vtigercrm
mysqldump -uroot -p123QWEasd vtigerdb > /home/backup/"$(date '+%F_%T')"/vtigerdb.sql
Это корректно будет обрабатываться в cron?

для восстановления:

Код: Выделить весь код
#!/bin/sh

service apache2 stop
rm -r /var/www/html/vtigercrm
tar -jxf *.tar.bz2 -C /var/www/html/
mysql -uroot -p123QWEasd vtigerdb < ./vtigerdb.sql
service apache2 start

-------
А зачем тебе жужжать, если ты не пчела? По-моему так.


Отправлено: 02:38, 07-07-2016

 
mar mar вне форума

Аватара для mar

just mar


Moderator


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

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


некорректно. Под крон надо почти везде прописывать полные пути. Т.е. cd отработает итак, а тот же mysqldump - нет
Но вообще-то самое простое протестировать самому на *nix-машине Уж первая-то часть точно безопасна даже на сервере )
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:46, 07-07-2016 | #2



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

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

zai zai вне форума Автор темы

Аватара для zai

Ветеран


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

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


Цитата mar:
а тот же mysqldump - нет »
В каком месте? Второй скрипт не под cron, смылс в следующем в папке /home/будет папка restore, а в ней лежать второй скрипт, т.е. нужная папка будет скопированна из /home/backup/ в /home/restore

Такой вариант правильный или нет? Как лучше сделать?

Код: Выделить весь код
#!/bin/sh

BACKUPDIR=/home/backup
DAYS=30
BACKUPDATE=`date +%H-%M-%S`
FOLDERDATE=`date +%d.%m.%y`

service apache2 stop
mkdir -p /${BACKUPDIR}/${FOLDERDATE}
cd /var/www/html
tar cjf ${BACKUPDIR}/${FOLDERDATE}/${BACKUPDATE}.crm.tar.bz2 vtigercrm >/dev/null 2>&1
mysqldump -uroot -p123QWEasd vtigerdb > ${BACKUPDIR}/${FOLDERDATE}/${BACKUPDATE}.db.sql
service apache2 start
find $BACKUPDIR/* -mtime +$DAYS -exec rm -r {} \; >/dev/null 2>&1

Код: Выделить весь код
#!/bin/sh

mv *crm.tar.bz2 vtigercrm.tar.bz2
mv *db.sql vtigerdb.sql
service apache2 stop
rm -r /var/www/html/vtigercrm
tar -jxf vtigercrm.tar.bz2 -C /var/www/html/
mysql -uroot -p123QWEasd vtigerdb < vtigerdb.sql
service apache2 start

-------
А зачем тебе жужжать, если ты не пчела? По-моему так.


Последний раз редактировалось zai, 08-07-2016 в 20:41.


Отправлено: 10:30, 07-07-2016 | #3


Аватара для MakaBooka

Старожил


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

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


Цитата mar:
Под крон надо почти везде прописывать полные пути »
только тем, кто в кронтабе не указывал PATH
Цитата zai:
Как лучше сделать? »
прописать PATH в кронтабе.
альтернативой является страдание типа:
Код: Выделить весь код
mysqldump=`/usr/bin/which mysqldump`
tar=`/usr/bin/which tar`
и вызов потом в виде
Код: Выделить весь код
${mysqldump} ${parameter}
${tar} parameter1 parameter2...

Отправлено: 14:10, 29-08-2016 | #4



Компьютерный форум OSzone.net » Linux и FreeBSD » Программирование в *nix » Как правильно написать sh для коректной работы в cron?

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как написать правильно загрузчик? warning1009 Microsoft Windows 2000/XP 2 08-02-2013 01:56
Помогите, написать sh скрипт webinteger Программирование в *nix 2 17-09-2010 09:01
Как правильно написать объявление в газету??? Antoniooo Флейм 7 04-10-2009 19:56
Прочее - [решено] через раз срабатывает sh скрипт для логирования trafd. Как вылечить? tref2me Общий по Linux 0 24-03-2009 09:43
Как правильно написать скрипт mailing-list vadimiron Вебмастеру 7 14-01-2004 20:07




 
Переход