项目自动打包备份基础脚本

jopen 9年前

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发送到本地某个目录)。

自动压缩脚本与项目备份:
当我们的某个目录下需要定期备份不同项目(项目网站过多,需要打包的时候,需要用到脚本)

#!/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密码 需要转义字符(\)





来自: http://my.oschina.net/xiongyuanliang/blog/602261