Linux下咱們經常須要進行打包操做,固然其實咱們更經常使用的操做是windows和Linux的文件交互 打包操做。在Linux下tar命令更經常使用 (倆者用法差很少,先小結zip命令)有的系統是沒有安裝zip壓縮命令的,這節重點介紹zip命令,zip能夠直接在win上壓縮和解壓。
yum install zip unzip (有寫系統可能沒有zip命令,須要安裝)。
正常狀況的打包
打包當前目錄下的 test文件夾
zip -qr test.zip test (-q是安靜模式打包 -r是遞歸打包目錄,這倆個是最經常使用的)
zip -qr test.zip * (將當前文件進行所有打包)
打包後,若是須要將打包好的文件傳到當前window下,用rz和sz命令便可
rz,sz是Linux/Unix同Windows進行ZModem文件傳輸的命令行工具。
優勢就是不用再開一個sftp工具登陸上去上傳下載文件。
sz:將選定的文件發送(send)到本地機器
rz:運行該命令會彈出一個文件選擇窗口,從本地選擇文件上傳到Linux服務器。
sz test.zip(將test.zip發送到本地某個目錄)。
自動壓縮腳本與項目備份:
當咱們的某個目錄下須要按期備份不一樣項目(項目網站過多,須要打包的時候,須要用到腳本)
mysql
#!/bin/bash FILE=`ls /home/www` for i in $FILE do mysqldump -uroot -proot $i > /home/www/$i/Data/$i.sql if [ -f $i.zip ] ; then rm -rf $i.zip fi zip -qr $i.zip /home/www/$i done
主要工做是對www的目錄進行備份 刪除上一次的備份(其中備份一次數據庫)
PS:
1.FILE=(須要連在一塊兒,shell定義變量方式)
2.if [ -f $i .zip ] ; 須要有空格
3.若是路徑裏有特殊字符好比root密碼 須要轉義字符(\)
sql