澳门新葡萄京官网首页在Linux系统下一键重新安装WordPress的脚本示例

网址恐怕时时的要搬迁,大概误操作,数据库没了,所以,我为了省时间,写了个wordpress大器晚成键重新安装的剧本。

原稿连接:

自家这只是写个大约的。我们能够依照本身的内需修改剧本。

此文为转发,建议查看秋水大神的原稿,制版更便于查看,其余,提出查看脚本源码,方便领会脚本运维进程,

应用口径:

脚本已测量试验,大神的剧本长久以来的给力。

自己这一个本子首要用在网站迁移的意况下,完全重新安装时候用的。相当于说,作者那几个操作只导入数据库等操作。这些wordpress的大旨和插件等文件作者并不曾用在底下的台本,需求的话,你能够慈详改(上边会涉嫌)。


计划以下文件:

万生龙活虎系统不可能找到 /etc/crontab 
 查看  

  •     原本wordpress的安顿文件wp-config.php
  •     原本的wordpress数据库备份文件
  •     系统装置了wget(超越1/4默许安装了卡塔尔国
yum install vixie-cron
或者
yum install cronie
service crond start
chkconfig crond on

假使要用FTP   先yum -y install
ftp 

#!bin/sh
#vps wordpress一键重新安装脚本
#global setting
USERNAME="root"  #数据库用户名
PASSWORD="ksharpdabu.info"  #数据库密码

DBNAME="wordpress"     #要导入的数据库名
BACKUPSQL="/home/ksharpdabu.sql"      #备份的sql文件绝对路径

OLD_WP-CONFIG="/home/wp-config.php"  #以前保存到wp-config.php文件的绝对路径
#setting end!!

WEBROOT="/home/wwwroot" #网站根目录http://www.dabu.info/?p=4329

echo "###################################################################n"
echo "please backup your website data when you run this shell script!!!!n"
echo "please backup your website data when you run this shell script!!!!n"
echo "please backup your website data when you run this shell script!!!!n"
echo "###################################################################n"

  get_char()     #这一段的代码其实的功能就是让用户输入任意键以继续执行脚本,是常用的代码段
  {
  SAVEDSTTY=`stty -g`
  stty -echo
  stty cbreak
  dd if=/dev/tty bs=1 count=1 2> /dev/null
  stty -raw
  stty echo
  stty $SAVEDSTTY
  }
  echo ""
  echo "Press any key to start..."
  char=`get_char`

create_db="create database IF NOT EXISTS ${DBNAME}"
mysql -u${USERNAME} -p${PASSWORD} -e "${create_db}" #创建名为wordpress的数据库,如果不存在http://www.dabu.info/?p=4329

wget -c http:#cn.wordpress.org/wordpress-3.7.1-zh_CN.zip  #下载wordpress网站程序
unzip wordpress-3.7.1-zh_CN.zip  #解压wordpress程序
cd wordpress  #切换到解压后的wordpress目录
cp ./*  ${WEBROOT}  #将网站程序复制到网站根目录
cp ${OLD_WP-CONFIG} ${WEBROOT}   #将原先的wordpress的配置文件wp-config.php放到网站根目录
mysql -u${USERNAME} -p${PASSWORD} ${DBNAME}  /dev/null
  stty -raw
  stty echo
  stty $SAVEDSTTY
  }
  echo ""
  echo "Press any key to start..."
  char=`get_char`

create_db="create database IF NOT EXISTS ${DBNAME}"
mysql -u${USERNAME} -p${PASSWORD} -e "${create_db}" #创建名为wordpress的数据库,如果不存在http://www.dabu.info/?p=4329

wget -c http:#cn.wordpress.org/wordpress-3.7.1-zh_CN.zip  #下载wordpress网站程序
unzip wordpress-3.7.1-zh_CN.zip  #解压wordpress程序
cd wordpress  #切换到解压后的wordpress目录
cp ./*  ${WEBROOT}  #将网站程序复制到网站根目录
cp ${OLD_WP-CONFIG} ${WEBROOT}   #将原先的wordpress的配置文件wp-config.php放到网站根目录
mysql -u${USERNAME} -p${PASSWORD} ${DBNAME} 

Ps:根据需要修改脚本情况
1.如果你不但备份了数据库,还备份了网站的插件等文件,那么,你就直接将:




wget -c http:#cn.wordpress.org/wordpress-3.7.1-zh_CN.zip  #下载wordpress网站程序
unzip wordpress-3.7.1-zh_CN.zip  #解压wordpress程序
cd wordpress  #切换到解压后的wordpress目录
cp ./*  /home/wwwroot/  #将网站程序复制到网站根目录
cp ${OLD_WP-CONFIG} ${WEBROOT}

wget -c http:#cn.wordpress.org/wordpress-3.7.1-zh_CN.zip  #下载wordpress网站程序
unzip wordpress-3.7.1-zh_CN.zip  #解压wordpress程序
cd wordpress  #切换到解压后的wordpress目录
cp ./*  /home/wwwroot/  #将网站程序复制到网站根目录
cp ${OLD_WP-CONFIG} ${WEBROOT}

 

做网址最要害的是如何?数据!数据,是网址之本,备份,是每四个站长都应当注重的事情。但还要,备份也是风华正茂件繁杂和重新的政工。所以,那么些职业,肯定能到位自动化的。
上边来介绍一下这一个生龙活虎键备份脚本
backup.sh。

删除,换到将网址有着备份文件的解压复制命令就能够了。

小结一下 backup.sh 特点:

假设笔者任何自己备份了/wwwroot目录为all.tar.gz

1、扶助 MySQL/MariaDB/Percona
的数据库全量备份或采用备份;

2、辅助内定目录或文件的备份;
3、援助加密备份文件(需安装 openssl
命令,可选);

4、协理上传至 谷歌(GoogleState of Qatar Drive(需先安装
gdrive 并安插,可选);

5、帮助在剔除钦赐天数本地旧的备份文件的同有的时候间,也删除
Google Drive 上的同名文件(可选)。

那么就写成:

2016 年 8 月 21 日更新:
1、新添:钦定 MySQL/MariaDB
的数据库名张开备份,能够同不经常候钦赐八个;

2、新添:删除内定天数本地旧的备份文件。
2016 年 9 月 8 日更新:
1、新添:删除钦点天数本地旧的备份文件的还要,可选删除
Google Drive 上的同名文件。

2016 年 11 月 29 日更新:
1、新扩展:上传备份文件到 FTP
选项;

2、新扩充:删除钦定天数本地旧的备份文件的同期,可选删除
谷歌(Google卡塔尔(قطر‎ Drive 及 FTP 上的同名文件。

tar -zvxf all.tar.gz  /home

课程方式开启:

 

1、下载该脚本并给与实践权限

wget --no-check-certificate https://github.com/teddysun/across/raw/master/backup.sh
chmod +x backup.sh

 

2.固然唯有是重新安装

2、改正并布置脚本

请使用 vim 或 nano
等工具来改良。

有关变量名的有个别表明:

ENC揽胜极光YPTFLG (加密FLG,true 为加密,false
为不加密,默许是加密)

BACKUPPASS
(加密密码,主要,必须要改正)

LOCALDI冠道(备份目录,可本人钦点)
TEMPDI福睿斯(备份目录的暂且目录,可协和钦赐)
LOGFILE
(脚本运转产生的日记文件路线)

MYSQL_ROOT_PASSWO奥德赛D
(MySQL/MariaDB/Percona 的 root 客商密码)

MYSQL_DATABASE_NAME
(钦命 MySQL/MariaDB/Percona 的数额库名,留空则是备份所有数据库)

※ MYSQL_DATABASE_NAME
是两个数组变量,能够钦赐多少个。例如如下:

MYSQL_DATABASE_NAME[0]="phpmyadmin"
MYSQL_DATABASE_NAME[1]="test"

BACKUP
(须要备份的钦命目录或文件列表,留空就是不备份目录或文件)

※ BACKUP
是三个数组变量,能够钦点多个。比如如下:

BACKUP[0]="/data/www/default/test.tgz"
BACKUP[1]="/data/www/default/test/"
BACKUP[2]="/data/www/default/test2/"

LOCALAGEDAILIES
(钦命多少天之后剔除当地旧的备份文件,默以为 7 天)

DELETE_REMOTE_FILE_FLG (删除 谷歌Drive 或 FTP 上的备份文件 FLG,true 为除去,false 为不删除)

FTP_FLG (上传文件至 FTP 的 FLG,true
为上传,false 为不上传)

FTP_HOST (连接的 FTP 域名或 IP
地址)

FTP_USEENVISION (连接的 FTP
的客商名)

FTP_PASS (连接的 FTP
的顾客的密码)

FTP_DISportage (连接的 FTP 的长途目录,比方:
public_html)

有的注意事项的注明:

1)脚本必要用 root
顾客来实行;

2)脚本需求用到 openssl
来加密,请事前安装好;

3)脚本私下认可备份全体的数据库(全量备份);
4)备份文件的解密命令如下:

openssl enc -aes256 -in [ENCRYPTED BACKUP] -out decrypted_backup.tgz -pass pass:[BACKUPPASS] -d -md sha1

5)备份文件解密后,解压命令如下:

tar -zxPf [DECRYPTION BACKUP FILE]

解释一下参数 -P:
tar 压缩文件默许都以相对路线的。加个 -P
是为着 tar 能以相对路径压缩文件。由此,解压的时候也要带个 -P
参数。

那么你将在增加叁个剔除原先wordpress数据库或表的一声令下:

3、配置 gdrive 命令

gdrive 是二个命令行工具,用于 GoogleDrive 的上传下载等操作。官方网址网址:
https://github.com/prasmussen/gdrive

理当如此,你能够用以下的一声令下来安装
gdrive。

x86_64(64位):

wget -O /usr/bin/gdrive http://dl.lamp.sh/files/gdrive-linux-x64
chmod +x /usr/bin/gdrive

i386(32位)

wget -O /usr/bin/gdrive http://dl.lamp.sh/files/gdrive-linux-386
chmod +x /usr/bin/gdrive

接下来,运转以下命令起首得到授权:

gdrive about

听说提醒用浏览器展开 gdrive 给出的
UMuranoL,点击接收(Accept),然后将浏览器上显得出来的字符串粘贴回命令行里,完结授权。

drop database

4、运营脚本领头备份

./backup.sh

脚本私下认可会展现备份进程,并在结尾总计出所需时间。
假让你想将脚本出席到 cron
自动运维以来,就无需前台显示备份进程,只写日记就能够了。

其不常候你要求多少改一下脚本中的 log
函数。

log() {
    echo "$(date "+%Y-%m-%d %H:%M:%S")" "$1"
    echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE}
}

改为:

log() {
    echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE}
}

至于如何利用 cron
自动备份,这里就不再赘述了 以 CentOS 6 来譬喻表明。

改正文件
/etc/crontab,内容如下:

SHELL=/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
MAILTO=root
HOME=/root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
30  1  *  *  * root bash /root/backup.sh

上述代表,每一日中午 1 点 30 分,root
顾客实施三回 backup.sh 脚本。

注意:
一定要改良个中的 PATH 和 HOME
变量的值。

特别是 HOME 变量,gdrive
命令能还是不能够精确推行,是要依赖于其安顿文件的。暗许用 root
配置来讲,其陈设文件夹应该是 /root/.gdrive/ ,所以要改进 HOME
的值。

最终,接待调换和提议意见。

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注