Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Общие вопросы
  • Search

Очистка пользовательских tmp

Общие вопросы о панели управления Vesta
Post Reply
  • Print view
Advanced search
8 posts • Page 1 of 1
Exillon
Posts: 10
Joined: Tue Jul 22, 2014 4:19 pm

Очистка пользовательских tmp
  • Quote

Post by Exillon » Thu Jan 29, 2015 1:00 pm

Здравствуйте.
Искал тему вроде бы нет ответа на такой вопрос.
Почему не удаляются старые файлы сессий (с именами sess_*) из пользовательских временных папок tmp/ ?
У меня на сервере они захламляются и там их становится 100-тни тысяч файлов на пользователя и лежат месяцами...

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

Есть ли в панели какие либо механизмы для этого? Или они и так должны чиститься?
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Очистка пользовательских tmp
  • Quote

Post by skurudo » Thu Jan 29, 2015 2:58 pm

В самой панели - нет.
Сессии удаляются средствами php, для этого есть соответствующая настройка в php.ini

session.gc_probability
session.gc_divisor
session.gc_maxlifetime
Top

Exillon
Posts: 10
Joined: Tue Jul 22, 2014 4:19 pm

Re: Очистка пользовательских tmp
  • Quote

Post by Exillon » Thu Jan 29, 2015 3:40 pm

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

Code: Select all

; NOTE: If you are using the subdirectory option for storing session files
;       (see session.save_path above), then garbage collection does *not*
;       happen automatically.  You will need to do your own garbage
;       collection through a shell script, cron entry, or some other method.
;       For example, the following script would is the equivalent of
;       setting session.gc_maxlifetime to 1440 (1440 seconds = 24 minutes):
;          find /path/to/sessions -cmin +24 -type f | xargs rm
И кстати в debian по умолчанию в php.ini мусорщик вообще выключен и gc_probability установлен в 0, как я выяснил debian использует собственный чистильщик но тоже только для общей директории не кастомной...

Вот было интересно как остальные пользователи панели справились с этой проблемой очистки мусора.
Наверное нужно писать скрипт который проходится по всем пользовательским дирикториям и чистит этой командой? find /home/$user/tmp -cmin +24 -type f | xargs rm
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Очистка пользовательских tmp
  • Quote

Post by skurudo » Thu Jan 29, 2015 5:02 pm

Проблем с переполнением не возникало при этих настройках. Сайты магазинов используют сессии.
Смешнее было на ISPManagere, где maxlifetime не прикручен был - там действительно пришлось скриптом удалять.
Top

Exillon
Posts: 10
Joined: Tue Jul 22, 2014 4:19 pm

Re: Очистка пользовательских tmp
  • Quote

Post by Exillon » Thu Jan 29, 2015 5:30 pm

Ну вот я только сейчас заметил что на моих двух debian серверах пользовательские темпы не чистятся.
Если кому надо вот как я решил проблему.
Добавил к стандартному кроновскуму мусорщику debian такую строку:
файл: /etc/cron.d/php5
добавить

Code: Select all

09,39 *     * * *     root   /usr/bin/find /home/*/tmp -name "sess_*" -type f -cmin +24 -print0 | /usr/bin/xargs -r -0 rm >/dev/null 2>&1
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Очистка пользовательских tmp
  • Quote

Post by skurudo » Thu Jan 29, 2015 5:37 pm

Спасибо, Exillon, симпатичное решение.
Top

skurudo
VestaCP Team
Posts: 8099
Joined: Fri Dec 26, 2014 2:23 pm
Contact:
Contact skurudo
Website Facebook Google+ Skype
Twitter

Re: Очистка пользовательских tmp
  • Quote

Post by skurudo » Mon May 25, 2015 9:43 pm

Остановился на аналогичном решении в кроне:

Code: Select all

15 */12 * * * nice find /home/*/tmp -type f -name 'sess_*' -ctime +5 -delete
Можно засунуть команду в cron.daily в принципе.
Top

UserVest
Posts: 47
Joined: Mon Jun 06, 2016 3:05 pm

Re: Очистка пользовательских tmp
  • Quote

Post by UserVest » Wed Jan 30, 2019 6:24 am

Для тех, кто не захочет читать всю простыню, сразу вопрос.
Откуда эта проблема с файлами в tmp берётся?
Серверу в начале февраля будет год. Неделю назад на сервер добавил алиасы к доменам, даже не домены, а просто алиасы. То есть ничего нового не загружал, только алиасы.
Сервер Ubuntu 16.04 nginx+php-fpm. 2ядра 2озу 50ssd.
После чистки папки tmp

Code: Select all

df -i
Filesystem      Inodes IUsed   IFree IUse% Mounted on
none            255337  1309  254028    1% /dev
tmpfs           256387  1400  254987    1% /run
/dev/vda       3055616 85861 2969755    3% /
tmpfs           256387     1  256386    1% /dev/shm
tmpfs           256387     3  256384    1% /run/lock
tmpfs           256387    13  256374    1% /sys/fs/cgroup
skurudo wrote: ↑
Mon May 25, 2015 9:43 pm
Остановился на аналогичном решении в кроне:

Code: Select all

15 */12 * * * nice find /home/*/tmp -type f -name 'sess_*' -ctime +5 -delete
Можно засунуть команду в cron.daily в принципе.
У меня не чистит, ни через крон, ни через консоль (менял значение -ctime на -atime, вообще удалял), файлы как были так и остаются в tmp.
А вот этой командой почистил
Exillon wrote: ↑
Thu Jan 29, 2015 5:30 pm

Code: Select all

09,39 *     * * *     root   /usr/bin/find /home/*/tmp -name "sess_*" -type f -cmin +24 -print0 | /usr/bin/xargs -r -0 rm >/dev/null 2>&1
Может что-то не так делаю. Команды вот они

Code: Select all

root@tmp#ls -f . | wc -l
746267
root@tmp# nice find /home/*/tmp -type f -name 'sess_*' -ctime +5 -delete
root@tmp# ls -f . | wc -l
747007
root@tmp# nice find /home/*/tmp -type f -name 'sess_*' -ctime +1 -delete
root@tmp# ls -f . | wc -l
749861
root@tmp# nice find /home/*/tmp -type f -name 'sess_*' -ctime +3 -delete
root@tmp# ls -f . | wc -l
750881
root@tmp# nice find /home/*/tmp -type f -name 'sess_*' -ctime +3 -delete
root@tmp# ls -f . | wc -l
753254
root@tmp# nice find /home/*/tmp -type f -name 'sess_*' -atime +3 -delete
root@tmp# ls -f . | wc -l
755785
root@tmp# /usr/bin/find /home/*/tmp -name "sess_*" -type f -cmin +24 -print0 | /usr/bin/xargs -r -0 rm >/dev/null 2>&1
root@tmp# ls -f . | wc -l
17293
p.s. 750к файлов добавилось за сутки.
За сутки до этого были использованы ВСЕ айноды, думал что это единичный случай, т.к. до этого таких проблем не возникло вообще. Просто переименовал папку в tmp2 удалил её и создал новую tmp.
Top


Post Reply
  • Print view

8 posts • Page 1 of 1

Return to “Общие вопросы”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password