现在,每个人都有自己的Blog.那么有多少人做好备份工作呢.如果你是一个电脑专业人员.那么你需要让它自动运行程序.让它自动备份这才是你最想要的.那么如果你的主机符合条件(远程ssh)的话.那么你就可以这样做.不多说.代码如下.
#!/bin/sh
#WP备份脚本
#方便地备份wordpress的文件及数据库(限mysql)
#作者: bones7456
#需要事先设置好这个HOST的rsa key 不然无法用ssh登录
HOST="admin@ptubuntu.com"
#远程的WP文件所在目录,此目录下要有 wp-config.php
REMOTE_PATH="www/ptubuntu"
#本地保存目录(最好是绝对路径),留空为当前目录
LOCAL_PATH="/home/ptubuntu/ptubuntu.backup"
#备份文件的前缀,默认自动按时间生成
PRE=`date +%F-%H-%M-%S`
[ -z $LOCAL_PATH ] || cd $LOCAL_PATH
#先备份文件
ssh $HOST "cd $REMOTE_PATH; tar cf - -X exclude ." | gzip > $PRE.tar.gz
#从文件取得数据库信息
tar zxvf $PRE.tar.gz ./wp-config.php
if [ -f wp-config.php ];then
DB_NAME=`grep "^define('DB_NAME'" wp-config.php | cut -d\' -f 4`
DB_USER=`grep "^define('DB_USER'" wp-config.php | cut -d\' -f 4`
DB_PASSWORD=`grep "^define('DB_PASSWORD'" wp-config.php | cut -d\' -f 4`
rm wp-config.php
else
echo "Something wrong ..."
exit 1
fi
#再备份数据库
ssh $HOST mysqldump -u${DB_USER} -p${DB_PASSWORD} $DB_NAME | gzip > $PRE.sql.gz
#这个可选,删除15天前的备份文件
#要打开的话,记得建个专门的目录存放备份,以免误删其他文件
#find . -maxdepth 1 -name "*.gz" -mtime +15 -exec rm {} \;
这个脚本来自动备份,放cron里以后,基本上就不用去关心什么了,哈哈,不过在加crontab的时候,要注意用户,如果是用root跑,可能会因为读不到当前用户的key而备份失败哦。
条件是你的空间支持ssh登录,并且事先做好了rsa 公钥,登录的时候不需要输入密码。
注;rsa 公钥
原先用gnome终端ssh登录服务器时,输入ssh命令到提示可以输入密码大概要等20多秒,后来查到说是由于
| 引用: |
| IP地址反向解析 禁用掉就好了 |
解决办法就是:
| 引用: |
| 系统->系统管理->网络->常规,把自动服务探测关闭 |
验证有效~
而且那选项本来就标着“这是一个潜在的安全隐患”估计还是实验性的东东吧!
二、用 RSA 密钥代替密码验证身份,无须每次连接都输密码的办法
1.再本机执行
| 代码: |
| ssh-keygen -t rsa |
先会提示密钥对保存位置,默认为(~/.ssh/id_rsa),接受默认选项。
然后会提示输入一个短语用于代替密码,这里如果以后不想每次都输密码的话,就直接回车,留空。
会再次让你输入上面的内容,继续回车留空。
这时候密钥对就生成好了,文件在~/.ssh/id_rsa和~/.ssh/id_rsa.pub
2.将本机刚才生成的~/.ssh/id_rsa.pub文件里面的内容添加到远程机的登录用户的~/.ssh/authorized_keys文件下 面,如果该文件不存在,可以手工创建一个。
3.完成,现在ssh远程机的话,就直接登录了 .不过要保证本机的~/.ssh/id_rsa文件的安全哦~万一这个文件被盗,后果将是很严重滴~~~
内容来自:http://li2z.cn 本站只做些修改.
原创文章,转载请注明: 转载自PT Ubuntu Blog
有ssh就是好
FTP的速度太。。。
推荐个wp插件,WP-DBManager,很不错的,可以设置定时发送到你的邮箱,或者存在你指定的目录。我设置每星期备份一次。也可以改长或者短。
@一七: 也是呀.这样的网络安全性比较高.就一万不怕.就是怕万一服务器挂了.那么你的资料还都在.
@A.shun: 我现在用的那个也没有ssh.痛苦呀.