已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > Shell脚本

标题: 自动备份网站的bash脚本

作者: @Ta

时间: 2013-04-04

点击: 6619

#!/bin/sh
#自动备份网站和数据库
    
#网站根目录
webRoot="/home/wwwroot";
#数据库备份文件存放路径(应在网站根目录内)
sqlPath="${webRoot}/mysql.backup/all.sql";
#备份文件存放目录(应在网站根目录外)
backupDir="/home/backup";
    
#以下不需要修改
echo "Backup Mysql Database";
mysqldump -A > $sqlPath;
echo "Mysql Backup Completed";
echo "Tar webRoot";
tar jcf "$backupDir/$(date +%Y-%m-%d).tar.bz2" $webRoot;
echo "Backup Completed";


把文件放在/usr/bin里,给执行权限(chmod 0755 /usr/bin/backup.sh)。
接下来在/root目录创建一个mysql配置文件,命名为.my.cnf,内容:
[mysqladmin]
user=root
password=你的密码
[mysqldump]
user=root
password=你的密码
为了安全,把这个文件设为只有root可读:
chmod 0600 /root/.my.cnf
然后用root用户登录,执行backup.sh就可以备份了。

(文件1)backup.sh


我每天都在备份数据哦,备份后用百度网盘的离线下载功能下载到百度网盘保存。@Mn

[隐藏样式|查看源码]


『回复列表(10|隐藏机器人聊天)』

1. @老虎会游泳 能定时备份数据库吗?怎么用
(/@Ta/2013-04-04 10:48//)

2. @Mine陈,目前不可以,mysql密码需要手动输入。expect自动脚本执行mysqldump时有问题。
(/@Ta/2013-04-04 10:50//)

3. @老虎会游泳 你可以给帝国备份加上自动备份吗?帝国备份功能比较强大
(/@Ta/2013-04-04 10:57//)

4. @Mine陈,我找到免输密码的方法了,现在可以加入cron计划任务里实现定时备份了。
(/@Ta/2013-04-04 11:14//)

5. @老虎会游泳 可以设置数据库编码吗?
(/@Ta/2013-04-04 12:18//)

6. @Mine陈,只要在脚本的-A参数前面增加一个参数就可以了,比如
--default-character-set=utf8
(/@Ta/2013-04-04 12:50//)

7. @老虎会游泳 怎么用?
(/@Ta/2013-04-04 13:01//)

8. 厉害,老虎写shell了哈。@老虎会游泳 呵呵,快高考了吧,祝你金榜题名。
(/@Ta/2013-04-04 13:05//)

9. @Mine陈,会php的人应该看得懂这个脚本做了什么吧。tar是打包命令。
(/@Ta/2013-04-04 13:44//)

11. 再写个ftp嘿嘿
(/@Ta/2016-08-16 06:16//)

回复需要登录

9月15日 23:46 星期一

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1