Очистка upload по cron

скрипт удаляющий ненужные файлы и пустые папки

#46 22 сентября 2019 в 14:12

(приделать к скрипту возможность получать аргументы не проблема)

@fazer
Приделайте пожалуйста получение опций из компонента.

если кто захочет приделать к штатному cron ICMS2 — welcame

@fazer
Без проблем стартует
  1. <?php
  2.  
  3. class onCleanerCronClean extends cmsAction {
  4.  
  5. public function run(){
  6.  
  7. exec('/usr/bin/perl '. PATH . '/upload/cron_cleaner.pl.php');
  8.  
  9. }
  10.  
  11. }
#47 3 октября 2019 в 10:59
ну видимо тема закрылась,
тогда на прощание добавлю кое-что:
прикол скрипта в том что он не держит в памяти все данные и не насилует постоянно мускул,
используя встроенную в перл Berkeley DB(создает её на диске и стирает после завершения)
Таки вот в php есть аналог — DBA

Пример: (можно создать в консоли и выполнить)
  1. #!/usr/bin/php
  2. <?php
  3. echo "\n";
  4. // possible it needs to install "apt-get install php7.3-dba" or "yum install php-dba.x86_64"
  5. $array = array( 'a/b/c/d', 'f/h/d/d', 'first', 'a/b/c/d', 'f/b/c/d', 'second', 'a/k/c/d', 'f/h/d/d' );
  6. $file = "test.db";
  7. $db = dba_open( $file, "c", "db4" );
  8.  
  9. $i = 0;
  10. foreach ( $array as $key ) {
  11. $i++;
  12. dba_insert( $key, $i, $db );
  13. echo $key."\t=> ".$i."\n";
  14. }
  15.  
  16. //////////////////////////////////////////////////////
  17.  
  18. $pattern = 'f/h/d/d';
  19.  
  20. if ( dba_exists($pattern, $db) ) {
  21. echo "\n our key is '".$pattern."' -> '".dba_fetch($pattern, $db)."'\n\n";
  22. }
  23.  
  24. dba_close($db);
  25. unlink($file);
  26. /*
  27. dba_open - открывает БД
  28. dba_insert - вставляет вхождение
  29. dba_exists - проверяет существование ключа
  30. dba_fetch - извлекает данные, специфицированные ключом
  31. dba_firstkey - извлекает первый ключ
  32. dba_nextkey - извлекает следующий ключ
  33. dba_close - закрывает БД
  34. */
  35. ?>
соответстна кто терпеть ненавидит perl может используя мой алгоритм и dba-php
создать что-то подобное моему скрипту на php zstну или нечто большее…
#48 3 октября 2019 в 11:45

ну видимо тема закрылась,

@fazer
Просто Вы не довели её до логического завершения…
Не написали четких и доступных инструкций как этим пользоваться не для программистов, а для сайтэ...

Собственно к кому вот это относится:

соответстна кто терпеть ненавидит perl может используя мой алгоритм и dba-php
создать что-то подобное моему скрипту на php zst ну или нечто большее...

@fazer

Они мало делают сайты) По крайней мере у нас на Инстанте.

Опубликуйте это в блог или здесь напишите итоговый пост (или первый поправьте)
Что бы в нем было все доступно описано, что куда поставить, как запустить и т.д.

Так как очистка, иногда нужна, а на некоторых типах сайтов без неё вообще беда…
#49 3 октября 2019 в 12:12
@fazer, Rainbow,
Ничего никуда не накрылось.
Сейчас выложу в своем блоге.
#50 3 октября 2019 в 20:50

Сейчас выложу в своем блоге.

Ris
В вашем блоге не вижу, здесь тоже… или еще рано?
#51 4 октября 2019 в 12:15
/blogs/zapiski-dinozavra/utilita-dlja-ochistki-upload-ot-fazer.html
#52 4 октября 2019 в 19:16


/blogs/zapiski-dinozavra/utilita-dlja-ochistki-upload-ot-fazer.html

Ris

EXCELLENT!!! :)
#53 11 октября 2019 в 17:19
Уважаемый Ris упаковал моё творчество в модуль дополнения: cleaner05102019.zip для ICMS2,
выкладываю тут немного подправленный мной вариант
cleaner-v2_15102019.zip
думаю тема закрылась, кто не спрятался — я не виноват :)



###########################################################################
НАПОМИНАЮ
Для работы компонента ТРЕБУЮТСЯ системные модули perl DBD-MySQL и DB_File
на красной шапке, сентосе ставится так:
# yum install perl-DBI perl-DBD-MySQL perl-DB_File
на убунте, дебиане:
# apt-get install libdbi-perl libdbd-mysql-perl
###########################################################################
если вы не понимаете о чём всё это, НЕ устанавливайте этот модуль, не заработает :)
#54 11 октября 2019 в 17:29

думаю тема закрылась, кто не спрятался — я не виноват :)

@fazer
Рановато закрывать, а вдруг где какой косяк или обновление? Новую тему будете открывать?
#55 11 октября 2019 в 17:39


а вдруг где какой косяк или обновление? Новую тему будете открывать?

vikont
Вряд ли :),
я человек временный, сайт свой дорисовал...
скрипт мой(перловый) худо-бедно универсальный(можно адаптировать практически под любую cms)
настройки в модуле RISа вполне позволяют кооптироваться в будущие изменения инстанта...
не вижу смысла вести дальше эту тему
#56 14 октября 2019 в 10:32
я тут репу почесал и понял, что всё же есть одна непонятка в моём Идеальном(шутка) скрипте…
даже не в скрипте а в модуле "cleaner"
если в штатном кроне инстанта жмякнуть белый трехугольник в синем кругу("выполнить сейчас"), и ваша база велика
— апач/инжиникс отвалится по таймауту, и что ещё хуже если тутже(с другого бравзера) жмякнуть ещё раз
может запустится дупликат очистилки....
Дуплицирование я устранил, а вот внимание вопрос:
Люди вам как надо при жмякании этого белого трех угольника (задание будет выполняться по любому в фоне)
а) веб сервер уходит в таймаут и браузер вам это рассказывает
либо
б) в браузере вы увидите "Задача «Очистка upload» была выполнена " (без каких либо ошибок)
? — ГОЛОСУЙТЕ
Вывести "результат выполнения" не возможно, по тому что на больших базах php не дождется завершения очистки.
Лично мне — фиолетово, из системного крона раз в неделю такой проблемы нет
#57 14 октября 2019 в 10:43

Люди вам как надо при жмякании этого белого трех угольника (задание будет выполняться по любому в фоне)

@fazer
Надо сделать красиво, как здесь instantcms.ru/addons/cleaner.html
#58 14 октября 2019 в 11:26


instantcms.ru/addons/cleaner.html

Loadырь
зачем вам ещё один чистильщик, здесь феня в том что всё на автомате, не расставляя галок
а ваще — да, обожаю высказывание "сделай красиво" )))
#59 14 октября 2019 в 11:36

здесь феня в том что всё на автомате

@fazer
Где тут речь про "автомат"?

при жмякании этого белого трех угольника

@fazer
#60 14 октября 2019 в 11:46


Где тут речь про "автомат"?

Loadырь
хм… я аж поперхнулся )))
да с самого начала топика

Хай ол, я тут себе очиститель папки upload замутил по хрону

fazer
а… я понял… вы прикалываетесь, видимо я вас где-то поддостал )))
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.