首页 » 工作 » 方法 » 正文

CentOS 服务器备份工具

发布者:某某人
2017/09/1 浏览数(63) 分类:方法 暂无评论

本文制作三个命令

  1. tdb – 打包数据库
  2. ttd – 打包程序代码
  3. fz – 显示包大小

导出所有数据库到指定目录(tdb)

#!/bin/bash
dbs="db1 db2 db3 db4"
DATE=$(date +%Y%m%d)
for db in $dbs
do
   echo -n $(date +%T) "/backup/"$db"_"$DATE".sql.gz"...
   /usr/bin/mysqldump -uUSERNAME --password=PASSWORD $db | gzip > "/backup/"$db"_"$DATE".sql.gz"
   echo " "`fz "/backup/"$db"_"$DATE".sql.gz"`
done

打包当前目录中的所有文件夹到当前目录(ttd)

#!/bin/bash
for f in ./*;do if [ -d $f ]; then tar -zcvf $f-`date '+%Y%m%d'`.tgz $f; fi ; done

显示文件大小(fz)

#!/bin/bash

# 显示帮助
if [ -z "$1" ]; then
   echo " Usage: `basename $0` path/file"
   exit
fi

if [ ! -e $0 ]; then
   echo "File not found: "$0
   exit 1
else
   size=`stat -c "%s" $1`

   kb=1024        # Kilobyte
   mb=$[1024*$kb] # Megabyte
   gb=$[1024*$mb] # Gigabyte
   tb=$[1024*$gb] # Terabyte
   value=0

   if   [ $size -lt $kb ]; then
      value="\e[0;32m"$size"\e[0;31m""B""\e[0m"
   elif [ $size -lt $mb ]; then
      value="\e[0;32m"`echo "scale=2;$size/$kb"|bc`"\e[0m""KB"
   elif [ $size -lt $gb ]; then
      value="\e[0;32m"`echo "scale=2;$size/$mb"|bc`"\e[0m""MB"
   elif [ $size -lt $tb ]; then
      value="\e[0;32m"`echo "scale=2;$size/$gb"|bc`"\e[0m""GB"
   else
      value="\e[0;32m"`echo "scale=2;$size/$tb"|bc`"\e[0m""TB"
   fi

   echo -e $value
   exit 0
fi

其它命令

chmod u+x ~/bin/ttd
chmod u+x ~/bin/tdb
chmod u+x ~/bin/fz
cd /www/
./ttd
./tdb
mv *.tgz /backup/

<完>

暂时木有评论啊,等您坐沙发呢!

发表评论

你好,有什么需要帮助吗?
  1. 需要留言?
  2. 联系方式?