Акция!  Домен 34 грн, домен 55 грн, домен  - 200 грн домен  - 65 грн, домен  - 99 грн, домен  - 56 грн!, домен  - 425 грн!
Мы используем cookie-файлы
Для оптимизации работы нашего сайта мы используем cookie-файлы. Продолжая использовать сайт, Вы соглашаетесь с использованием cookie-файлов.
  • RUB
  • USD
  • EUR
  • UAH
Чат техподдержки
Вы являетесь клиентом?
  • +38(044) 392-74-33  Киев
  • +38(057) 728-39-00  Харьков
  • +38(056) 794-38-31  Днепр
  • +38(032) 229-58-93  Львов
  • +38(048) 738-57-70  Одесса
  • +38(093) 170-15-42  Life
  • +38(067) 400-88-44  Киевстар
  • +38(095) 630-90-82  MTC
  • +1(888)393-24-51  USA, Toll free
  • +44(131)507-01-14  Great Britain
  • +7(499) 348-28-61  Москва

Хостинг. Удаление некоторых файлов из заданной папки

Форумы Хостинг Удаление некоторых файлов из заданной папки
tgr_85
1 год
хостинг: есть
домен: есть
Удаление некоторых файлов из заданной папки
Здравствуйте.
Связка Joomla+K2 генерирует кучу ненужных картинок к статьям и скидывает их все в одну папку.

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

Известно путь к папке, и что все неиспользуемые файлы заканчиваются, к примеру, на _XL.jpg

Файлов картинок несколько тыс., из них ненужных примерно половина. Поэтому вручную править не вариант.
Буду очень благодарен, если кто-нибудь поделится решением.
Сергей М.
1 год
хостинг: есть
домен: есть
1
Самое простое что приходит в голову - добавить в крон задачу
/usr/bin/rm -rf /home/имя хостинг аккаунта/путь к директории/*_XL.jpg
tgr_85
1 год
хостинг: есть
домен: есть
Спасибо!
Попробую и отпишусь завтра.
tgr_85
1 год
хостинг: есть
домен: есть
Пишет такое:
nice: /usr/bin/rm: No such file or directory
Код получился такой:
/usr/bin/rm -rf /home/имя хостинг аккаунта/домен/www/путь к директории/*_XS.jpg
Может www не надо?

Еще на одном форуме подсказали сделать и запустить такой php файл:

<?php

function udoli($dirname)
{
    $files = glob($dirname . '/*', GLOB_MARK);

    foreach ($files as $file) {

        if (substr($file, -1) == '/') {
            udoli($file);
        } else {
            if (preg_match('#XS.jpg#Usi', $file, $est))
                unlink($file);
        }
    }
}
udoli('/путь/к/папке');
?>


Правда я пока не понял, как его запустить...
zinenko_s
1 год
хостинг: есть
домен: есть
2
/usr/bin/rm -rf /home/имя хостинг аккаунта/домен/www/путь к директории/*_XS.jpg
Может www не надо?
© tgr_85

Попробуйте указать просто команду так rm -rf /home/имя хостинг аккаунта/домен/www/путь к директории/*_XS.jpg


Еще на одном форуме подсказали сделать и запустить такой php файл: © tgr_85


Можно сделать скрипт куда проще, к примеру так

<?php
$path = "/home/имя хостинг аккаунта/домен/www/путь к директории/*_XS.jpg";
shell_exec("rm -rf $path");
?>
При этом можно задать дополнительные параметры отбора файлов и управлять какими либо масками.
И потом можно создать обычную крон задачу и поставить ее выполнение раз в сутки указав этот скрипт или же открыв скрипт в браузере то есть к примеру скрипт будет в /home/имя хостинг аккаунта/домен/www/delete.php то его запуск можно произвести просто открыв в браузере домен/delete.php

Так же можно использовать такого способа команды для удаления файла которые существуют более указанного срока, пример на срок жизни файлов более двух суток с даты last modified
find /home/имя хостинг аккаунта/путь к директории/ -type f -name "*_XL.jpg" -mtime +2 -exec rm -rf {} \;

детальное описание команд Вы можете получить при помощи такого сервиса как explainshell.com - match command-line arguments to their help text (вот ссылка на описание вышеуказанной команды explainshell.com - find /home/имя хостинг аккаунта/путь к директории/ -type f -name "*_XL.jpg" -mtime +2 -exec rm -rf {} \\; )
Сергей М.
1 год
хостинг: есть
домен: есть
2
Пишет такое:
nice: /usr/bin/rm: No such file or directory
Код получился такой:
/usr/bin/rm -rf /home/имя хостинг аккаунта/домен/www/путь к директории/*_XS.jpg
© tgr_85

Попробуйте заменить путь к исполняемому файлу на /bin/rm
/bin/rm -rf /home/имя хостинг аккаунта/домен/www/путь к директории/*_XS.jpg
Посмотреть путь к исполняемым файлам можно командой
# command -v "rm"
/bin/rm
tgr_85
1 год
хостинг: есть
домен: есть
1
Сработал скрипт:
<?php
$path = "/home/имя хостинг аккаунта/домен/www/путь к директории/*_XS.jpg";
shell_exec("rm -rf $path");
?>

И крон:
/bin/rm -rf /home/имя хостинг аккаунта/домен/www/путь к директории/*_XS.jpg

Всем спасибо большое!
Участвовать в общении на этом форуме могут только
зарегистрированные пользователи.

Если вы уже зарегистрированы Вам необходимо войти на форум.