2015-01-30 2 views
2

Я хочу сделать резервную копию mysql на ленту на лету. Некоторые, каксоздать файл tar из stdin

mysqldump|tar --filename=mysqlbackup.sql > /dev/tape 

Я хочу, чтобы лента имеет содержание в архивный файл, и этот файл имеет содержание «mysqldump.sql»

Так команда «деготь -t </Dev/ленты» должен вывести

mysqldump.sql 

Я не хочу сначала сохранять mysqldump в файл, потому что у меня нет ресурсов пространства и ввода-вывода. Я хочу сделать это на лету.

Я не хочу «туздЫшпр>/Dev/ленты», потому что нет MetaInfo и нет способа узнать, лента имеет любое parkydr содержание/

+0

Если, как вы, кажется, хотят,/dev/tape * - это tarfile с вашим sqldump в нем, как вы знаете, что у него есть какой-либо контент (поскольку вы не могли знать, имеет ли он только sqldump)? –

+0

/dev/tape не является tarfile. это аппаратное устройство с лентой (магнитная пленка) – xoid

+0

Конечно, но если вы ожидаете, что «tar -t

ответ

2

Пользователь дал лучший ответ:

You не может создать tar-файл из stdin. Каждый файл в tar имеет заголовок, включая длину файла, поэтому tar должен знать, сколько данных есть перед записью заголовка. - parkydr

1

Просто ради будущих посетителей: mysqldump производит единственный файл, поэтому наиболее подходящим способом для ее хранения на ленте будет, вероятно:

mysqldump| bzip2 - > mysqldump-`date +"%y-%b-%d"`.bz2 
Смежные вопросы