Форум программистов, компьютерный форум, киберфорум
RedHat, Fedora, CentOS, РЕД ОС
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779

Связка - Centos 7.5 + Vesta CP, не ротируются логи на сервере

11.07.2022, 21:31. Показов 3787. Ответов 74
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую, буду рад совету который поможет решить мою проблему, она заключается в следубщем!
У меня Centos 7.5 + Vesta CP, так вот по умолчанию на сервере в директории /var/log/httpd/domains
постоянно создаются лог файлы

domen.ru.log
domen.ru.bytes

и так далее, доменов у меня много, собственно за сутки папка с нуля уже имеет размер /var/log/httpd/domains 80гб
и через два дня, весь диск переполняется напрочь и зайти в панель Vesta CP уже не выйдет, нужно в ручном режиме очистить логи в директории domains, только тогда пустит в панель, по ssh могу заходить хотя когда диск забивается то и по ssh заходит туговато.

Эта проблема давно известна, то что логи не ротируются чероез logrotate автоматически.

В файле /etc/logrotate.d/httpd данные такие

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
/var/log/httpd/*log /var/log/httpd/domains/*log {
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
    rotate 2
    size 5M
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
        [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
    endscript
}



Сам конфиг /etc/logrotate.conf имеет такой вид


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
# see "man logrotate" for details
# rotate log files weekly
weekly
 
# keep 4 weeks worth of backlogs
rotate 4
 
# create new (empty) log files after rotating old ones
create
 
# use date as a suffix of the rotated file
dateext
 
# uncomment this if you want your log files compressed
#compress
 
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d
 
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
    minsize 1M
    rotate 1
}
 
/var/log/btmp {
    missingok
    monthly
    create 0600 root utmp
    rotate 1
}


В самой панеле веста во вкладке планировщик крон создал задание


logrotate -f /etc/logrotate.conf

которое должно запускатся каждые 20 мин и делать ротацию логов в папке /var/log/httpd/domains/

Так по крону не получается выполнить это задание хоть убей, наверное все дело в том что в саму панель веста я захожу под логином admin, и наверное задание запускается с правами admin, поэтому не получается выполнить ротацию логов..

А вот когда по ssh захожу под root и в терминале выполню команду logrotate -f /etc/logrotate.conf
все прекрасно работает!

Подскажите решение, те кто имел схожую проблему, так как это действительно сильно напрягает.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.07.2022, 21:31
Ответы с готовыми решениями:

Включить логи CRON на CentOS
Здравствуйте! Возникла проблема: Есть сервер на VPS на CentOS от jino. и около 10 заданий cron. Задания вроде и выполняются...

Связка двух клиентов на сервере
Всем привет. С PHP почти не знаком, по этому такой вопрос: как связать контент одного клиента, с контентом другого клиента? ...

OpenVPN в CentOS 6 на VPS сервере
Купил VPS сервер нa CentOS 6 . Установил openvpn по одной из статей гугла. При включении VPN на самом сервере все работает нормально, логи...

74
5184 / 1074 / 150
Регистрация: 29.01.2013
Сообщений: 6,259
14.07.2022, 15:43
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от serauto79 Посмотреть сообщение
у меня другие совсем настройки были по умолчанию для
httpd
у вас там и nginx зачем-то применяется. Возьмите из этого примера конфиг, попробуйте.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 15:50  [ТС]
ну вы же видите сами что там пути не сходи, что проверять, вот то что вы предлагаете и гляньте на мой вариант - совсем разные конфиги и пути

вот ваш
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/var/log/apache2/*.log {
        daily
        missingok
        rotate 14
        compress
        delaycompress
        notifempty
        create 640 www-data www-data
        sharedscripts
        postrotate
                if /etc/init.d/apache2 status > /dev/null ; then \
                    /etc/init.d/apache2 reload > /dev/null; \
                fi;
        endscript
        prerotate
                if [ -d /etc/logrotate.d/httpd-prerotate ]; then \
                        run-parts /etc/logrotate.d/httpd-prerotate; \
                fi; \
        endscript
}

вот мой

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
/var/log/httpd/*log /var/log/httpd/domains/*log {
    missingok
    notifempty
    compress
    rotate 2
    size 5M
    create
    sharedscripts
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
        [ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
    endscript
}
Добавлено через 29 секунд
единственное что можно попробовать добавить так это

create 640 www-data www-data

Добавлено через 50 секунд
и то толку от этого, у меня на сервере только 2 пользователя
admin
root

Добавлено через 1 минуту
пользователя www-data нет такой пользователь у меня был раньше когда панель ips manager была
0
5184 / 1074 / 150
Регистрация: 29.01.2013
Сообщений: 6,259
14.07.2022, 15:51
serauto79, поменяйте пути и укажите пользователя, которому принадлежат логи.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 15:53  [ТС]
да и у всех error.log что в /var/log/httpd/
владелец nginx и права на файл 644

может это както влияет на удаление
0
5184 / 1074 / 150
Регистрация: 29.01.2013
Сообщений: 6,259
14.07.2022, 15:58
serauto79, если 644, то у root есть права на удаление.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 16:06  [ТС]
менял пробовал ничего не дает выполнение в терминале
logrotate -f /etc/logrotate.conf

Добавлено через 30 секунд
/var/log/httpd/*log /var/log/httpd/domains/*log {
missingok
notifempty
compress
rotate 2
size 5M
create 644 nginx nginx
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
[ ! -f /var/run/nginx.pid ] || kill -USR1 `cat /var/run/nginx.pid`
endscript
}

Добавлено через 2 минуты
ну если логически подумать, команда
logrotate -f /etc/logrotate.conf
выполняется с правами root
это наивыший приоритет, и с такими правами должно рубить все файлы nginx или других пользователей, тут в чемто другом причина

Добавлено через 26 секунд
недаром это основной косяк панели vesta cp

Добавлено через 1 минуту
Цитата Сообщение от Alli_Lupin Посмотреть сообщение
serauto79, если 644, то у root есть права на удаление.
так задание выполняется от рута, он может все.
0
1152 / 405 / 89
Регистрация: 30.08.2017
Сообщений: 2,491
14.07.2022, 16:07
А мне не показалось, что /etc/logrotate.conf:
Bash
1
weekly
Условие ротации будет проверяться раз в неделю?
И зачем задание cron носить в /etc/crontab ?
Почему не
Bash
1
crontab -e
Он ещё и синтаксис проверит. У меня вот сомнения гложут что
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
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
 
HOME=/
 
# run-parts
grep run-parts /etc/crontab
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
 
 
# For details see man 4 crontabs
 
# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
 
*/2 * * * * root /usr/sbin/logrotate -f /etc/logrotate.conf
это правильно. Зачем нужен блок
Bash
1
2
3
4
5
6
# run-parts
grep run-parts /etc/crontab
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
мне не понятно.
0
5184 / 1074 / 150
Регистрация: 29.01.2013
Сообщений: 6,259
14.07.2022, 16:09
Цитата Сообщение от serauto79 Посмотреть сообщение
владелец nginx
я снова запутался. У вас владелец nginx, но web-сервер - апач...
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 16:10  [ТС]
вот скрин прав на лог файл domen.com.error.log
Миниатюры
Связка - Centos 7.5 + Vesta CP, не ротируются логи на сервере  
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 16:12  [ТС]
вот такой размер лога за сутки, ну как понимаете 100гб по всем сайтам и вся система засрана и нет места на диске
0
1152 / 405 / 89
Регистрация: 30.08.2017
Сообщений: 2,491
14.07.2022, 16:35
Ещё раз напишу.
Правильно оформите задание cron
Bash
1
2
3
4
5
6
7
8
# crontab -e
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
 
HOME=/
  
*/2 * * * * root /usr/sbin/logrotate -f /etc/logrotate.conf
Добавлено через 6 минут
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 16:38  [ТС]
Цитата Сообщение от _sg2 Посмотреть сообщение
Или настройте logrotate не на недельную проверку, а ежедневную.
поставил на ежечасную с самом конфиге логорате сменил weekly на hourly, а в кронтабе удалил задание
*/2 * * * * root /usr/sbin/logrotate -f /etc/logrotate.conf

перегрузил кнон, через час погляжу будет происходить удаление логов или нет

Добавлено через 2 минуты
Цитата Сообщение от _sg2 Посмотреть сообщение
*/2 * * * * root /usr/sbin/logrotate -f /etc/logrotate.conf
а что именно в этом задании было неправильно? или имеете в виду что в конфиге логорате было конфиге логорате weekly и это конфликтовало с */2 * * * * root /usr/sbin/logrotate -f /etc/logrotate.conf
0
1152 / 405 / 89
Регистрация: 30.08.2017
Сообщений: 2,491
14.07.2022, 16:44
Мож поможет
Но тут я не знаю как в центосе7 настроено. Сейчас логротате перевели на logrotate.timer и он как раз однажды в сутки срабатывает.
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 16:51  [ТС]
Цитата Сообщение от _sg2 Посмотреть сообщение
*/2 * * * * root /usr/sbin/logrotate -f /etc/logrotate.conf
так что с заданием не так, а то говорите что нужно правильно оформить, а сами не знаете как! вот так оно и получается.
0
1152 / 405 / 89
Регистрация: 30.08.2017
Сообщений: 2,491
14.07.2022, 17:01
я не понимаю чего тут раньше советовали, о чём написал - Связка - Centos 7.5 + Vesta CP, не ротируются логи на сервере

задания cron я всегда делал через
Bash
1
crontab -e
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 21:35  [ТС]
Цитата Сообщение от _sg2 Посмотреть сообщение
crontab -e
когда в терминале путту выполняю команду crontab -e

выводит что нет доступа к кронтабу для рута.
вот вывод!

Using username "root".
Access denied
root@176.00.134.656's password:
Last failed login: Thu Jul 14 20:44:36 EEST 2022 from 765.26.100.132 on ssh:notty
There were 7 failed login attempts since the last successful login.
Last login: Thu Jul 14 16:49:18 2022 from 765.60.199.106
[root@3w6 ~]# crontab -e
no crontab for root - using an empty one

Добавлено через 55 секунд
так что не открывает у меня текстовик крона чтобы я туда руками команду вбил.

Добавлено через 2 минуты
лучше подскажите как мне правильно оформить команду для кронтаба, я буду ее выполнять раз в сутки и она должна удалять все лог файлы с окончанием .log в директории /var/log/httpd/domains но при этом архивы которые будут в этой директории не удаляло.

может так порешаю и забуду нафиг про этот вопрос.
0
5184 / 1074 / 150
Регистрация: 29.01.2013
Сообщений: 6,259
14.07.2022, 21:37
rm -f /var/log/httpd/domains/*.log
Попробуйте
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 22:07  [ТС]
без sudo
rm -f /var/log/httpd/domains/*.log
или так

sudo rm -f /var/log/httpd/domains/*.log
0
5184 / 1074 / 150
Регистрация: 29.01.2013
Сообщений: 6,259
14.07.2022, 22:12
вы под рутом. какое судо? до Линуса права повысить?
0
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
14.07.2022, 22:31  [ТС]
yt
Цитата Сообщение от Alli_Lupin Посмотреть сообщение
rm -f /var/log/httpd/domains/*.log
не выполняет кронтаб, папка не очищается, команда такая, каждые 2 мин выполнение поместил команду в кронтаб
сам сервис крона не перегружал, для кнонтаба это вроде не нужно


*/2 * * * * root rm -f /var/log/httpd/domains/*.log

что не так?

Добавлено через 1 минуту
лог крона

Jul 14 22:13:01 3wkr crond[437]: (root) BAD FILE MODE (/etc/crontab)

Добавлено через 4 минуты
и если такой вид команды
*/2 * * * * rm -f /var/log/httpd/domains/*.log

тоже ошибка
Jul 14 22:23:01 3wkr crond[437]: (root) BAD FILE MODE (/etc/crontab)

Добавлено через 2 минуты
ДА и в терминале ПУТТУ если выполняю

rm -f /var/log/httpd/domains/*.log

ничего не удаляет

Добавлено через 2 минуты
знаю что если в путту удалять нужно что-то сначала
перехожу в директории где удаляю

cd /var/log/httpd/domains/

ну а там действие
rm -f
или другие ключи


но в моем случае нужно на крон поставить этот процесс
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2022, 22:31

Настройка сети на сервере с Centos 6.7
Здравствуйте товарищи. Прошу вас помочь в решении следующей проблемы. Есть арендованный сервер. Доступен он через IPMI интерфейс. Вот...

Пакет ppp на сервере Centos 6.5
Здравствуйте! Создаю вм Centos 6.5, которая будет файловым сервером без графического интерфейса. Нужен на этом сервере интернет. Есть...

Нет интернета на сервере Centos 6.5
Устанавливаю виртуальную машину Centos 6.5. На этапе установки, где можно настроить сеть, не дает создать dsl-соединение. Пишет, что нет...

Включить SELinux на сервере CentOS-7-amd64
Не могу включить SELinux на сервере CentOS-7-amd64 sestatus SELinux status: disabled setenforce 1 setenforce: SELinux is...

На сервере centos 7 запустить несколько серверов для OpenVPN
Добрый день, интересует такой вопрос. Возможно ли на 1 сервере centos 7 запустить несколько серверов для OpenVPN соответственно на разных...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины". За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html Задача: . . .
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru