V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  zsen  ›  全部回复第 8 页 / 共 8 页
回复总数  148
1  2  3  4  5  6  7  8  
2015-12-01 09:51:11 +08:00
回复了 yech1990 创建的主题 Linux linux 下 做笔记最好的体验是?
gitbook , markdown + Github +网页浏览
2015-11-28 12:07:49 +08:00
回复了 JiaFeiX 创建的主题 云计算 没有删除过服务器全部数据的经历,不足以谈人生。。。。
那个脚本里面还是有一些坑需要填的。

比如我用的是 postfix ,默认只能发 10M 的附件,需要手动更改配置文件来发送大附件。目前我自己跑的是 20M 是没问题的,因为我的备份文件压缩后木有超过 20M ,所以最大能发多大的附件,没实际测试过。

另外,在 mac 下, mail 是没有-s 添加附件这一功能的。至于 linux 下面,是不是所有版本都支持,我也不清楚。建议可以使用 mutt 来。

至于说数据库压缩之后还超大的,我认为就需要更严谨和科学的数据容灾机制了,比如主从数据库的实时同步——不止是数据库,程序文件也是这样,这样万一失误可以马上无缝切换到备用系统中去,而不影响业务。

换句话说,这样的备份脚本,更多的还是适合于个人网站,或者小项目。商业系统中的生产环境需要更完善的权限控制机制(比如题主说的,以及回复中说到的`rm -rf / `的情况),以及我上面说到的更严谨的备份机制。
2015-11-27 11:58:49 +08:00
回复了 JiaFeiX 创建的主题 云计算 没有删除过服务器全部数据的经历,不足以谈人生。。。。
@burgleaf 谢谢ᕦ( ᴼ ڡ ᴼ )ᕤ

然后 crontab -e 加定时任务
当然,还有一些基本配置要设置。。。

另外,``` 这个不是代码加亮的么?
2015-11-27 11:54:04 +08:00
回复了 JiaFeiX 创建的主题 云计算 没有删除过服务器全部数据的经历,不足以谈人生。。。。
```
#!/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
```
2015-11-19 23:55:26 +08:00
回复了 billion 创建的主题 程序员 大家使用什么程序记录文档?
gitbook
@predator 确实,我自己是通过这种方式来禁用任何未经绑定的域名指向服务器的。
不过在这里,我是假定楼主做的泛域名解析到服务器,然后通过服务器来控制。
@predator 可以泛域名的么?
server{
listen 80 default_server;
server_name _;
return 301 http://www.abc.com$request_uri;
}

server {
listen 80;
server_name xyz.abc.com;
#blabla......
}

server {
listen 80;
server_name www.abc.com;
# blabla......
}
1  2  3  4  5  6  7  8  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2793 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 02:36 · PVG 10:36 · LAX 18:36 · JFK 21:36
Developed with CodeLauncher
♥ Do have faith in what you're doing.