1
JiaFeiX OP 现在在新的主机上从头来过,人生好艰难。。。。
|
2
Zzzzzzzzz 2015-11-27 11:34:28 +08:00 9
|
3
chinassl 2015-11-27 11:36:20 +08:00
异地备份,异地备份,异地备份,重要事情说 3 遍
|
4
Daemon 2015-11-27 11:36:31 +08:00
之前没用一个快照,创建镜像吗,有个镜像也好。。
|
5
moro 2015-11-27 11:37:41 +08:00
及時備份,及時備份,及時備份
重要的事情說三遍! |
6
800126 2015-11-27 11:38:13 +08:00
我是来寻开心的。
|
7
ckzx 2015-11-27 11:40:46 +08:00
被你们搞的整个人都不好了。赶紧上服务器手动再备份个先。
|
8
wy315700 2015-11-27 11:42:10 +08:00
数据库层都没有备份吗,
|
9
realpg 2015-11-27 11:47:58 +08:00
你们的备份呢?
另外,延时删除?多占用的时间付费了么…… |
10
zsen 2015-11-27 11:54:04 +08:00 8
```
#!/bin/bash # 配制开始,根据需要修改以下值 # 备份文件保存目录 Backup_Home="/home/Backup/" # 需要备份的站点目录,多目录用空格隔开 Backup_WWW_Dir="/home/wwwroot/www_Dir" # 需要备份的数据库名 All 或 输入类似 db1 db2 的列表清单 Backup_DB_Name="dbname" # 数据库配置 DB_HOST=localhost DB_User=user DB_Pass=pass # 备份 MYSQL 时生成 CREATE 数据库语句 CREATE_DATABASE="yes" # 发生到邮件的地址 Mail_TO="your@mail" # 保留数据库备份文件的天数 Backup_DB_Date=5 # 保留网站目录备份文件的天数 Backup_Code_Date=5 # 邮件发送方式 Mail_Type="mail" # 配制结束,以下内容不需要修改 # 当前备份日期和时间 DATE=`date +%Y%m%d` DEL_SQL_DATE=`date -d -${Backup_DB_Date}day +%Y%m%d` DEL_CODE_DATE=`date -d -${Backup_Code_Date}day +%Y%m%d` OPT="--quote-names --opt" # 检查备份路径是否存在,不存在则建立 if [ ! -e "${Backup_Home}" ]; then mkdir -p "${Backup_Home}" fi # 删除备份目录下前设定天数的备份数据 rm -f ${Backup_Home}DB_${DEL_SQL_DATE}.sql.gz rm -f ${Backup_Home}Code_${DEL_CODE_DATE}.tar.gz # 检查是否需要生成 CREATE 数据库语句 if [ "${CREATE_DATABASE}" = "yes" ]; then OPT="${OPT} --databases" else OPT="${OPT} --no-create-db" fi # 检查是否是备份所有数据库 if [ "${Backup_DB_Name}" = "all" ]; then Backup_DB_Name="--all-databases" fi BACKUP_DB_FILE=DB_${DATE}.sql.gz BACKUP_CODE_FILE=Code_${DATE}.tar.gz cd ${Backup_Home} # 备份数据库 `which mysqldump` --user=${DB_User} --password=${DB_Pass} --host=${DB_HOST} ${OPT} ${Backup_DB_Name} | gzip > "${BACKUP_DB_FILE}" #`which mysqldump` --host=${DB_HOST} ${OPT} ${Backup_DB_Name} | gzip > "${BACKUP_DB_FILE}" # 备份网站目录。此处用了绝对路径,解压时需注意 tar zcPf ${BACKUP_CODE_FILE} ${Backup_WWW_Dir} # 将备份文件保存至指定邮箱 if [ "${Mail_Type}" = "mail" ]; then echo "MySQL DataBase and website Code Backup." | mail -s "DB&Code Backup ${DATE}" -a ${BACKUP_DB_FILE} -a ${BACKUP_CODE_FILE} -r [email protected] ${Mail_TO} fi if [ "${Mail_Type}" = "mutt" ]; then echo "MySQL DataBase and website Code Backup." | mutt -s "DB&Code Backup ${DATE}" ${Mail_TO} -a ${BACKUP_DB_FILE} -a ${BACKUP_CODE_FILE} fi ``` |
11
UG1u8zhQxhvqXNrk 2015-11-27 11:56:42 +08:00
@zsen 好人。。
|
12
loading 2015-11-27 11:58:14 +08:00 via Android 1
没事,我们都是开过光贴了符的服务器,这种事不会发生的。
|
13
zsen 2015-11-27 11:58:49 +08:00
|
15
kozora 2015-11-27 12:04:51 +08:00
前天手欠 azure 挂载硬盘的时候,把挂载到 Home 目录了,而我网站目录就在 home ,天了噜,然后查了些资料,因为 azure 删机器是默认不删除硬盘的,然后把原来的机器删掉了,然后开个新机器,把旧机器上的硬盘作为数据盘挂载到新的机器上,数据又回来了
|
19
10iii 2015-11-27 12:19:38 +08:00 1
自己的玩具网站:
VPS 忘续费,遭删,重新弄整个网站,两天周末加一周晚上。 VPS 又忘续费,遭删,重新弄整个网站,两天周末加一个晚上。 VPS 再次忘续费,遭删。没动力了。 另一个玩具网站: 某日登录 VPS 管理页,误以为这个 VPS 是闲置空的,那更新一下 ubuntu 版本到比较新的 LTS 吧。然后,重新弄整个网站,一个周末。 |
20
chairuosen 2015-11-27 12:26:02 +08:00
所以我买了 Linode 的 Backup 服务
|
21
HanSonJ 2015-11-27 12:28:40 +08:00
没试过删除,试过 chmod -fR 000 /
|
22
msg7086 2015-11-27 12:43:35 +08:00
重要的网站一定不要做 MySQL 的 cronjob 定时备份。
|
24
lyragosa 2015-11-27 13:06:30 +08:00
virtualmin 用户表示用自带的备份工具
|
25
LINAICAI 2015-11-27 13:19:25 +08:00
没有 rm -rf 过的人生不完整
|
26
cnsoft 2015-11-27 13:26:52 +08:00
所以说 大家是时候了解一下 数据方舟了. 来个视频
|
27
wesley 2015-11-27 13:28:54 +08:00
crontab + dropbox
再也不怕 VPS 忘续费了 |
29
beneo 2015-11-27 13:37:10 +08:00
线上服务器必须高可用,怎么也是两台机器
|
30
xuhaoyangx 2015-11-27 13:41:48 +08:00
@zsen 感谢
|
31
davidyin 2015-11-27 13:47:50 +08:00
平时都是用类似 10 楼的脚本,每晚定时备份,上传到家里的备份服务器上。
一天一次。 |
32
gamexg 2015-11-27 14:13:56 +08:00
刚刚转移一个网站,测试通过后删除临时文件时将刚刚转移过来的网站也删掉了。还好源没有动,重做了一次。
|
33
KenGe 2015-11-27 14:16:26 +08:00
我是用的多备份~ 省时省力
|
35
gzlock 2015-11-27 14:18:29 +08:00 via Android
通常都是上 FTP 删文件
|
36
xupefei 2015-11-27 14:35:26 +08:00
https://github.com/xupefei/VPS-Daily-Backup-Script
放一个以前写的自动备份脚本,使用前请务必修改脚本中的路径。 这脚本用在某网站上一年多了,从来没出过问题,很靠谱。 |
37
Kokororin 2015-11-27 15:26:09 +08:00
每天自动备份到 Dropbox
|
38
xjoker 2015-11-27 15:38:53 +08:00
家里的服务器挂着 goodsync 文件有变化就同步
|
39
simapple 2015-11-27 15:40:38 +08:00
淘宝的购买记录现在也不正常了
|
40
cai314494687 2015-11-27 15:42:41 +08:00
哈哈 我删过
|
41
ryd994 2015-11-27 15:52:22 +08:00 via Android
幸好我上次只是删了全部 Nginx 配置而已
dump 内存,从 Nginx 内存里吧配置文件抠出来 |
42
nooper 2015-11-27 16:00:15 +08:00 via iPad
我做的都是自动化的运维。任何一台服务器给我十分钟的时间我便能够自动构建应用
|
43
mahone3297 2015-11-27 16:08:17 +08:00
@Zzzzzzzzz 这个图片好。。。好应景。。。。好经典。。。
|
44
sholmesian 2015-11-27 16:54:01 +08:00
多备份 +1
|
45
yytsjq 2015-11-27 17:11:10 +08:00
我现在是服务器每天自动备份,然后上传到 Dropbox 、 Google Cloud Storage 还有 KeyCDN Push 空间,只保留最近 7 天的备份文件。这样应该能避免悲剧了吧。。
|
47
neoblackcap 2015-11-27 18:19:20 +08:00
其实我想知道,为什么有云的,还要贸然同一台机器上面重装。重新开个实例不更好么?反正也花不了多少钱,新实例能正常运行了再删除旧实例
|
48
qj12kkp 2015-11-27 19:23:10 +08:00
我只用过 drop database `xx` - > -
|
49
Xrong 2015-11-27 20:16:51 +08:00
数据库每天自动备份,楼主你这太不小心了。。。
|
50
29EtwXn6t5wgM3fD 2015-11-27 20:50:00 +08:00 via Android
脚本自动备份百度云
|
52
hei1000 2015-11-27 21:02:23 +08:00 via Android
没有以 root 权限执行过 rm -rf / 不足以说自己用过 Linux
|
54
Hyperion 2015-11-27 21:09:30 +08:00 1
哼,这算什么!
早期某家提供商客服不提供任何维护,然而我因为一次不小心配置错了 vps 的登录私钥,导致无法登陆… 找客服未果,我自己亲手忍痛格掉… |
55
tntsec 2015-11-27 21:11:20 +08:00
本地 百度网盘 七牛三层备份
http://www.tntsec.com/archives/256.html |
56
pynix 2015-11-27 21:18:27 +08:00
快照。。。
|
57
jsthon 2015-11-27 22:30:55 +08:00
吓得我赶紧去创建了一个自定义镜像
|
58
raptor 2015-11-27 22:33:41 +08:00
运维水平太不靠谱了…
我自己的 BLOG 都有多重备份,在 VPS 上做数据库备份,然后 rsync 到家里的备份服务器上,然后这个备份服务器用 ZFS 做快照,保留十几份。定期还有离线备份。 |
59
crowds 2015-11-27 22:50:28 +08:00
自己的网站而已
又不是停了之后一坨人拿你问罪 有什么大不了的 |
61
qw7692336 2015-11-28 01:11:41 +08:00
刚刚 rm -rf 了自己电脑硬盘的根目录
|
62
syy 2015-11-28 01:29:10 +08:00
每天自动备份到 Dropbox
|
63
chairuosen 2015-11-28 01:31:55 +08:00
@qw7692336 装点 Adobe 全家桶
|
64
qw7692336 2015-11-28 01:34:47 +08:00
|
65
AstroProfundis 2015-11-28 01:41:41 +08:00
@qw7692336 装了会让你有更多时间在删到用户文件之前按 Ctrl+C...
|
66
qw7692336 2015-11-28 01:45:47 +08:00
@AstroProfundis
不治本 |
67
AstroProfundis 2015-11-28 01:50:05 +08:00
@qw7692336 这只是个梗而已,别认真...
|
68
qw7692336 2015-11-28 01:53:57 +08:00
@AstroProfundis 我听说过放大文件的,没听说过 adobe 全家的
|
69
twl007 2015-11-28 07:06:03 +08:00
曾经干过…… 格了硬盘忘了同步磁盘信息了…… 然后重启之后…… = = ||||||
|
70
ahillgian 2015-11-28 09:00:30 +08:00
可怜.
|
71
Showfom 2015-11-28 10:37:53 +08:00 via iPhone
楼上的有些备份脚本居然发到邮箱的.....你们的数据库是有多小...
|
74
realpg 2015-11-28 10:55:55 +08:00
@Showfom
跟业务有关啊 我现在还维护一个项目,整个项目的 DB 里面只有 username 一个字符类变量,其他全是各种长短 int ,包含 password 都是 int 存储,就是为了查询速度以及容量小方便自动随时迁移 |
75
zsen 2015-11-28 12:07:49 +08:00
那个脚本里面还是有一些坑需要填的。
比如我用的是 postfix ,默认只能发 10M 的附件,需要手动更改配置文件来发送大附件。目前我自己跑的是 20M 是没问题的,因为我的备份文件压缩后木有超过 20M ,所以最大能发多大的附件,没实际测试过。 另外,在 mac 下, mail 是没有-s 添加附件这一功能的。至于 linux 下面,是不是所有版本都支持,我也不清楚。建议可以使用 mutt 来。 至于说数据库压缩之后还超大的,我认为就需要更严谨和科学的数据容灾机制了,比如主从数据库的实时同步——不止是数据库,程序文件也是这样,这样万一失误可以马上无缝切换到备用系统中去,而不影响业务。 换句话说,这样的备份脚本,更多的还是适合于个人网站,或者小项目。商业系统中的生产环境需要更完善的权限控制机制(比如题主说的,以及回复中说到的`rm -rf / `的情况),以及我上面说到的更严谨的备份机制。 |
76
GNiux 2015-11-28 12:49:51 +08:00 via iPhone
很喜欢这种帖子!学习了
(别扁我… |
77
wdlth 2015-11-28 13:16:41 +08:00
我是备份到 Box 、 Copy 和 DropBox 。
|
78
JiaFeiX OP 我现在用 [多备份] 提供的服务, 但还是有很多坑
|
79
zinev 2015-11-28 13:49:52 +08:00
中午不睡,下午崩溃是真的。。。
打算把公司服务器上的网站文件拖下来改点功能,大白天的全部拖下来影响正常访问,于是备份数据库之后和网站所有文件打了个 zip 包,打完之后想把压缩包里面的图片文件删了, 嗯,没睡醒,把网站目录下的图片文件夹全给删了, 顿时整个办公司都停下休息了, 嗯,还好上司好,没吊打我 |
80
markmx 2015-11-28 14:10:39 +08:00
有一次 正式和本地同步数据.
结果变成了 正式和正式.. 结果只剩表了. 还好开启了日志功能. 中午整到 夜里 12 点. 通过日志恢复了数据.. |
81
Pepsigold 2015-11-28 21:46:14 +08:00 via Android
必须留名!
|
82
zzxa 2015-11-28 23:25:50 +08:00
难道 lz 你叫 peter 吗
|