Сожмите каждый файл в каталоге в его собственный сжатый файл

Это действительно зависит от Вашего сайта. Если это полно информации, в которой можно было бы хотеть иметь в блоках щедрого дара, но не имеет FTP затем, Вы, вероятно, не должны блокировать его. С другой стороны, если это - что-то как форумы, или блоги или веб-сайт продукта затем absolutly блокируют его если его порождение проблемы. Конечно, никто не планирует множество пользователей, вдыхающих Ваш весь сайт внезапно, и если он перегружает Ваш сайт затем, даже если бы существуют законные пограничные случаи, я заблокировал бы его.

Короче говоря как администратор, Вы предпринимаете шаги, необходимо было гарантировать доступность серверов, если это означает блокировать wget затем, это - то, что требуется.

24
задан 5 February 2012 в 22:12
3 ответа

Помещение каждого файла в отдельный tar-файл не имеет смысла в этом сценарии. Вы можете использовать gzip , чтобы сжать их напрямую:

gzip *

приведет к file1.out.gz , file2.out.gz и т. Д.

Вы будет использовать tar только в том случае, если вам понадобится сжатый архив в виде одного файла.

Если вам нужен tar-архив для каждого файла, вы можете создать его следующим образом:

for i in *; do tar -czf $i.tar.gz $i; done
64
ответ дан 28 November 2019 в 20:14

Чтобы использовать ответ @SvenW (который будет работать только в текущем каталоге), если у вас ОГРОМНОЕ количество файлов или вы хотите сделать это в рекурсивной структуре каталогов, вы также можете использовать

find . -type f -exec gzip \{\} \;

, и если вам нужно поместить вывод в другой каталог (в этом примере, ../ target ) и не хотите удалять оригиналы, вы можете сделать что-то вроде:

find . -type f -print | while read fname ; do
    mkdir -p "../target/`dirname \"$fname\"`"
    gzip -c "$fname" > "../target/$fname.gz"
done
9
ответ дан 28 November 2019 в 20:14

Попробуйте это:

#!/bin/bash
for fich in *; do
    if [ "$fich" != "*" ] ; then
        gzip -9 -c $fich > $fich.tar.gz
        \mv $fich.tar.gz $fich
    fi
done
0
ответ дан 28 November 2019 в 20:14

Теги

Похожие вопросы