Сжимать файл по крону

123 4
D
На сайте с 28.06.2008
Offline
1101
2168

У меня на сервере генерируется один большой фид данных для экспорта. Памяти еле еле хватает его сгенерировать и средствами пхп уже не получается его сжать.

Кодер говорит что какая-то проблема в пхп 7 с жатием больших файлов, которую он пока победить не может.

Приходится жать пока вручную командой:

root@ng /var/www/ru/xml # gzip rss.xml

gzip: rss.xml.gz already exists; do you wish to overwrite (y or n)? y

Вопрос: как автоматизировать это действие и повесить на крон?

P.S. панели нет, дебиан 8

Andreyka
На сайте с 19.02.2005
Offline
822
#1

Типа так:

php -f export.php > file.exp && gzip file.exp

Не стоит плодить сущности без необходимости
D
На сайте с 28.06.2008
Offline
1101
#2

Сжимать нужно rss.xml, что такое export.php?

K
На сайте с 17.02.2006
Offline
106
#3

gzip -f rss.xml перезапишет архив без вопросов.

Хостим сайты. Есть VDS с IP.
D
На сайте с 28.06.2008
Offline
1101
#4
kosmohost:
gzip -f rss.xml перезапишет архив без вопросов.

Я знаю команды для консоли, я не знаю как это автоматизировать? Я сейчас это вручную в консоли каждый день делаю.

Что нужно, создать скрипт, прописать в него команду и запускать его по крону?

1. Что прописать в скрипт?

2. Как добавить его в крон если нет панели?

K
На сайте с 17.02.2006
Offline
106
#5

Хм...

Например, можно открыть файл /etc/crontab и записать туда команду

00 * * * * root gzip -f /var/www/ru/xml/rss.xml >/dev/null 2>&1

Т.е. запускать каждый день, каждый час в 00 минут.

Одной командой запись делается так

echo "00 * * * * root gzip -f /var/www/ru/xml/rss.xml >/dev/null 2>&1" >> /etc/crontab
D
На сайте с 28.06.2008
Offline
1101
#6

Большое спасибо!!! То что нужно!!!

D
На сайте с 28.06.2008
Offline
1101
#7

Что-то не работает. Сейчас задание в файле /var/spool/cron/crontabs/root прописано так

30 2 * * * root gzip -f /var/www/ru/xml/rss.xml >/dev/null 2>&1

В итоге все остальные задания их этого крона работают, а это нет.

Сейчас зашел и через консоль сжал сам командой

gzip -f /var/www/ru/xml/rss.xml - все получилось.

Что не так?

bums
На сайте с 03.07.2006
Offline
442
#8

#crontab -e

далее вписываешь задание

#30 2 * * * root gzip -f /var/www/ru/xml/rss.xml >/dev/null 2>&1

и выходишь с сохранением

Недорогая регистрация и продление доменов RU/SU/РФ/COM/NET/ORG/и т.д. ( https://www.regnic.name/?sesign ) в РЕГРУ, РЕГТАЙМ, Р01, РУЦЕНТР. А так же хостинг и SSL сертификаты.
D
На сайте с 28.06.2008
Offline
1101
#9

Сори - что-то не вижу разницы между тем что есть сейчас. Я так вчера и сделал. В чем отличие?

bums
На сайте с 03.07.2006
Offline
442
#10
Dram:
Я так вчера и сделал

а, я думал просто правил файл заданий, как сказал kosmohost

kosmohost:
открыть файл /etc/crontab и записать туда команду

Делал именно так?

#crontab -e

В рутовый крон юзера можно и не писать

30 2 * * * gzip -f /var/www/ru/xml/rss.xml >/dev/null 2>&1

задание будет выполняться каждые сутки один раз в 2:30

возможно хотел каждые два часа выполнять? Тогда так

30 */2 * * * gzip -f /var/www/ru/xml/rss.xml >/dev/null 2>&1

возможно не в тот крон добавил задание(не рута, а юзера)

посмотри лог крона

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий