Anda dapat melakukan ini.
ls | zip test.zip [email protected]
ini dilakukan dari anggapan bahwa saya memiliki 3 file di direktori.
-rw-rw-r-- 1 xxx domain users 6 Jan 7 11:41 test1.txt
-rw-rw-r-- 1 xxx domain users 6 Jan 7 11:41 test2.txt
-rw-rw-r-- 1 xxx domain users 6 Jan 7 11:41 test3.txt
dan file itu sendiri, maka hasilnya adalah
Archive: test.zip
Length Date Time Name
-------- ---- ---- ----
6 01-07-10 11:41 test1.txt
6 01-07-10 11:41 test2.txt
6 01-07-10 11:41 test3.txt
-------- -------
18 3 files
Dari halaman Linux Zip Man
Jika daftar file ditentukan sebagai [email protected], zip mengambil daftar file input dari input standar.
Anda dapat menggunakan pipa bernama, dan mengirim output permintaan ke sana, sambil melakukan zip darinya.
mkfifo output.txt ; mysql [params and query] > output.txt & zip output.zip -FI output.txt ; rm output.txt
Saya tidak dapat mengelola dengan jawaban PHP (kehabisan memori pada dump mysql yang lebih besar), dan FIFO tidak berfungsi seperti yang saya inginkan, jadi solusi saya adalah mengganti nama file di dalam arsip ZIP setelah menjalankan dump, menggunakan zipnote (yang disertakan dengan paket zip di Debian).
mysql [params and query] | zip -q output.zip -
echo -e "@ -\[email protected]=newname.sql" | zipnote -w output.zip
Commandline menimpa dirinya sendiri ketika perintah terlalu panjang
Kirim dan Terima file dalam pemrograman soket di Linux dengan C/C++ (GCC/G++)