容器技术交流

 找回密码
 立即注册
查看: 6209|回复: 11

用于LuManager的自动定时加密备份网站数据并上传到其它FTP空间的shell脚本

[复制链接]
发表于 2011-9-7 15:37:12 | 显示全部楼层 |阅读模式
详细脚本已经记录到博客中,请移步至博客查看:http://www.admpub.com/post-167.html
发表于 2011-9-7 16:41:15 | 显示全部楼层
很不错
 楼主| 发表于 2011-9-7 19:24:31 | 显示全部楼层
谢谢洞哥的认可{:soso_e100:}
发表于 2011-9-9 15:14:41 | 显示全部楼层
网页打不开
 楼主| 发表于 2011-9-9 16:13:39 | 显示全部楼层
本帖最后由 ◥◣█◢◤ 于 2011-9-9 16:14 编辑
华子 发表于 2011-9-9 15:14
网页打不开啊


服务器正在进行维护,请稍后再访问
发表于 2011-9-9 21:18:07 | 显示全部楼层
集到下版面版中吧
发表于 2011-9-10 10:39:16 | 显示全部楼层
可以打开啊。
发表于 2011-9-12 10:04:17 | 显示全部楼层
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67 68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120  #!/bin/bash
#为backup.sh添加执行权限chmod +x /root/backup.sh
#添加脚本至crontab(自动启动程序)执行命令crontab -e,添加每天0点10分启动代码
#10 00 * * * /root/backup.sh
   
#===========配置区开始==============
BACKUP_DATA_TEMP="/home/backup"
DB_USR="数据库用户名"
DB_PWD="数据库密码"
FTP_HOST="FTP主机名"
FTP_USR="FTP用户名"
FTP_PWD="FTP密码"
ZIP_PWD="压缩包密码"
   
#数据库文件位置
DB_PATH="/home/mysql_data"
   
#网站数据文件位置
WEB_PATH="/home/ftp/1520"
   
#其它要备份的文件夹
OTHER_PATH="/home/lum_safe_files"
   
#按周清理,设为0则按天清理
ROUND_WEEK="1"
#===========配置区结束==============
   
FTP_FOLDER=$(date +"%Y-%m-%d")
if [ ROUND_WEEK = 1 ];then
OLD_FTP_FOLDER=$(date -d -3week +"%Y-%m-%d")
else
OLD_FTP_FOLDER=$(date -d -3day +"%Y-%m-%d")
fi
   
#在FTP空间里新建目录
ftp -v -n $FTP_HOST <<END
user $FTP_USR $FTP_PWD
type binary
prompt off
cd public_html
mkdir $FTP_FOLDER
ls . temp_ftpdir.txt
bye
END
   
mkdir $BACKUP_DATA_TEMP
cd $BACKUP_DATA_TEMP
   
#========压缩其它文件========
zip -9 -q -r -P $ZIP_PWD $BACKUP_DATA_TEMP/lum_safe_files.zip $OTHER_PATH/
#上传到FTP空间
ftp -v -n $FTP_HOST <<END
user $FTP_USR $FTP_PWD
type binary
cd public_html
cd $FTP_FOLDER
put lum_safe_files.zip
bye
END
rm -rf $BACKUP_DATA_TEMP/lum_safe_files.zip
   
   
#===========导出mysql数据库===========
DBLIST=`ls -p $DB_PATH | grep / | tr -d /`
for dbname in $DBLIST
do
#mysqldump -u $DB_USR -p$DB_PWD $dbname > $BACKUP_DATA_TEMP/$dbname.sql
mysqlhotcopy $dbname -u $DB_USR -p $DB_PWD $BACKUP_DATA_TEMP | logger -t mysqlhotcopy  
#压缩数据库
zip -9 -q -r -P $ZIP_PWD $BACKUP_DATA_TEMP/$dbname.mysql.zip $BACKUP_DATA_TEMP/$dbname/
#删除sql文件
rm -rf $BACKUP_DATA_TEMP/$dbname/
#上传到FTP空间
ftp -v -n $FTP_HOST <<END
user $FTP_USR $FTP_PWD
type binary
cd public_html
cd $FTP_FOLDER
put $dbname.mysql.zip
bye
END
rm -rf $BACKUP_DATA_TEMP/$dbname.mysql.zip
done
   
#==========压缩网站数据=============
DBLIST=`ls -p $WEB_PATH | grep / | tr -d /`
for dbname in $DBLIST
do
zip -9 -q -r -P $ZIP_PWD $BACKUP_DATA_TEMP/$dbname.page.zip $WEB_PATH/$dbname
#上传到FTP空间
ftp -v -n $FTP_HOST <<END
user $FTP_USR $FTP_PWD
type binary
cd public_html
cd $FTP_FOLDER
put $dbname.page.zip
bye
END
rm -rf $BACKUP_DATA_TEMP/$dbname.page.zip
done
   
   
if [ -f "temp_ftpdir.txt" ] && [ `cat temp_ftpdir.txt | awk '{print $9}' | grep $OLD_FTP_FOLDER | wc -l` -ge 1 ];then
#删除FTP空间5天前的数据  
ftp -v -n $FTP_HOST <<END
user $FTP_USR $FTP_PWD
type binary
cd public_html
cd $OLD_FTP_FOLDER
prompt off
mdelete *.*
cd ../
rmdir $OLD_FTP_FOLDER
bye
END
rm -rf temp_ftpdir.txt
fi
   
#删除本地的备份数据
rm -rf $BACKUP_DATA_TEMP/  
发表于 2011-9-14 01:39:09 | 显示全部楼层
这样太麻烦了,还不好管理!如果我有15个网站呢?
不知道有试用过WEBMIN,里面的 备份方式很不错!:
建议后台添加按钮,方便操作!
 楼主| 发表于 2011-9-16 10:24:51 | 显示全部楼层
bruce 发表于 2011-9-14 01:39
这样太麻烦了,还不好管理!如果我有15个网站呢?
不知道有试用过WEBMIN,里面的 备份方式很不错!:
建议后 ...

都可以备份的
 楼主| 发表于 2011-10-11 21:04:22 | 显示全部楼层
发表于 2011-10-16 15:55:58 | 显示全部楼层
不错不错,很不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Archiver|URLOS ( 粤ICP备18087780号 )

GMT+8, 2024-4-25 18:29 , Processed in 0.029453 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表