Добрый день!
Нужна помощь в решении проблемы. Сайт был перенесен с Drupal 6 на Drupal 7. В старой версии использовался редактор TinyMCE, загрузка файлов происходила с помощью Wysiwyg imageupload.
После переноса было удалено много нод, к которым были привязаны картинки. Но изображения остались на сервере.
Есть ли какое-нибудь решение для их удаления? Не всех изображений, которые когда-то были загружены через Wysiwyg imageupload, а именно тех, чьи ноды были удалены.
Вложение | Размер |
---|---|
![]() | 47.24 КБ |
Комментарии
Есть.
Написать запрос и маленький скриптик
Ответ тут: https://www.drupal.org/node/733258
Кстати, есть еще простой вариант: https://www.drupal.org/project/fancy_file_delete
Прошу помощи в настройки модуля https://www.drupal.org/project/fancy_file_delete для большого количества материала на сайте.
Удалять порционно:

Вот здесь дан хороший скрипт. Я пользовался им несколько раз, всё супер! Модуль Fancy File Delete у меня почему то не отображает удаление.
Я скопирую сюда команды, а объяснение в статье.
START=./sites/default/files
CURDIR=`pwd`
IG_STYLES=./styles/*
IG_JS=./js/*
IG_CSS=./css/*
dbdump=`pwd`/dumpwebsite.sql
usedfile=`pwd`/output_used.txt
notusedfile=`pwd`/output_notused.txt
notusedfile_check=`pwd`/output_notused_check.txt
cd ${START}
echo "Step 1. Checking for used and unused files to database..."
echo "$(date) $line"
for file in `find . ! -path "$IG_JS" ! -path "$IG_CSS" ! -path "$IG_STYLES" -type f -print | cut -c 3- | sed 's/ /#}/g'`
do
file2=`echo $file | sed 's/#}/ /g'`
file3=`basename $file2`
result=`grep -c "$file3" $dbdump`
if [ $result = 0 ]; then
echo $file2 >> $notusedfile
else
echo $file2 >> $usedfile
fi
done
cd ${CURDIR}
echo "Step 2. Checking files from list not used files..."
echo "$(date) $line"
for p in $(cat $notusedfile); do
grep -rnw --include=*.{module,inc,php,js,css,html,htm,xml} ${CURDIR} -e $p > /dev/null || echo $p >> $notusedfile_check;
done
echo "Files checking done."
echo "Check the following text-file for results:"
echo "$notusedfile_check"
xargs rm -fr < output_notused_check.txt
Но обязательно проверять
output_notused.txt
, туда могут попасть и не картинки!Оставляем только картинки:
sed -i '/\.\(jpg\|jpeg\|png\|gif\|webp\|svg\|bmp\)$/!d' output_notused.txt