RTFM.WIKI

Ordnung muß sein. Ordnung über alles (18+)

User Tools

Site Tools


Sidebar


Навигация

Линкшэринг

ALARM!

Добавить новую страницу

You are not allowed to add pages
web:php_session_cleanup

Проблема с удалением PHP сессий

Описание проблемы:

Удалить сотни-тысячи-миллионы файлов в каталоге:

Документация PHP.NET

Что настроить, чтобы такого не было:

Пример

session.gc_probability = 1
session.gc_divisor = 1000
session.gc_maxlifetime = 1440 

UPDATE

Посмотреть количество файлов в mod-tmp

ls -R /var/www/*/data/mod-tmp | wc -l
ls -R /var/www/*/data/bin-tmp | wc -l

Удалить

find /var/www/*/data/mod-tmp -name "sess_*" -type f -exec rm {} \;
find /var/www/*/data/bin-tmp -name "sess_*" -type f -exec rm {} \;

Если файлов очень много, то появится ошибка find: cannot fork: Cannot allocate memory.

Новый вариант с nice (searchengines)

nice -n 19 ionice -c3 find /var/www/user1/data/mod-tmp/ -maxdepth 1 -type f -name sess* | xargs -n1 nice -n 19 ionice -c3 rm

Ещё один вариант

cd /root/
mkdir empty_dir
rsync -a --delete /root/empty_dir/ /var/www/user1/data/mod-tmp/

tmpwatch/tmpreaper + ionice.

The tmpwatch utility recursively searches through specified directories and removes files which have not been accessed in a specified period of time. Tmpwatch is normally used to clean up directories which are used for temporarily holding files (for example, /tmp). Tmpwatch ignores symlinks, won't switch filesystems and only removes empty directories and regular files.

Поискав более изящные решения нашёл интересные ссылки

https://eurohoster.org/blog/administration/full/19

https://eurohoster.org/blog/administration/full/117

http://seriyps.ru/blog/2012/11/03/how-to-remove-millions-of-files-from-single-directory/

http://chast.in/remove-more-more-files-linux.html

Discussion

Enter your comment. Wiki syntax is allowed:
 
web/php_session_cleanup.txt · Last modified: 2017/09/22 22:33 (external edit)