Консультация № 69505
04.01.2007, 12:16
0.00 руб.
0 2 2
Здравствуйте.
Есть такая вот задача:
есть 3 файла (f1.txt, f2.gif, f3.exe) общий размер 30мб
1) их нужно собрать в один вайл file.tar и сжать
2) file.tar нужно разбить на 2 файла по 15мб
3) отправить файлы на почтовый ящик
Желатьельно ответить не ссылкой на маны а примером
Особый интерес представляет посылка файлов по эл.почте; как это зделать?

Обсуждение

Неизвестный
04.01.2007, 13:48
общий
это ответ
Здравствуйте, Redcap!
1. tar -cf file.tar f1.txt, f2.gif, f3.exe или если нужно еще и сжатие то tar -czf file.tar.gz f1.txt, f2.gif, f3.exe (при этом получившийся файл будет меньше суммарного размера )
2. split -a 1 -b 15m file.tar file.tar. (при этом создадуться файлы размером 15 мБ и с именами file.tar.a, file.tar.b и т.д.)
3. отправку фалов проще всего организовать с помощью perl скрипта. Вариантов может быть несколько. Один из с использованием sendmail можете посмотреть здесь: http://dvl999.vinnitsa.com/creative/st/04/
Неизвестный
04.01.2007, 15:14
общий
это ответ
Здравствуйте, Redcap!

1 и 2)
tar -cjf - f1.txt, f2.gif, f3.exe | split -b 1m -d - file.tar.bz2.

получатся файлы file.tar.bz2.01, file.tar.bz2.02...

2) один из варинатов mutt(я пользуюзсь)
for i in file.tar.bz2.*; do
mutt -a $i -s "`date`: $i" e@маил
done

отправится по файлу в каждом письме с темой "дата: имя файла"

но вообще вариантов много. например в FreeBSD есть в стандартной поставке uuecode и b64code, да просто много пакетов для этого. напримет nail, metasend..
вот например почитать можно тут http://www.shelldorado.com/articles/mailattachments.html
Форма ответа