在 Linux 服务器上批量建立 Joomla 站点

最近要给一些客户做 Joomla 站点的演示,所以要求在服务器上建一批 Joomla 站点。手工建的话费时又费力,一不留神还容易出错。所以在 Ronnie 的帮助下完成了一个脚本来批量建立这些站点。

具体要求:建立 50 个 Joomla 站点,名称从 1001 到 1050 为止,目录为 /www/vhost/1001/cms,/www/vhost/1002/cms,以此类推至 /www/vhost/1050/cms。

首先建立并设置好第一个 Joomla 演示站点 1001,目录为 /www/vhost/1001/cms,并将其数据导出为 sql 文件。

导出数据库的命令如下:

  1. mysqldump -u user -ppassword joomla_1001 > /home/jayson/joomla_1001.sql

然后建立如下脚本:

  1. for ((i=1002;i<=1050;i++));
  2. do
  3.     mysqladmin -u user -ppassword create joomla_$i;
  4.     mysql -u user -ppassword joomla_$i < /home/jayson/joomla_1001.sql;
  5.     cp -rfp /www/vhost/1001/cms /www/vhost/$i/;
  6.     sed -i "s/1001/${i}/g" /www/vhost/${i}/cms/configuration.php
  7. done

将其存为 joomla_site_batch_clone.sh。

循环体中共四行语句。第一行是建立 MySQL 数据库;第二行是将数据导入数据库中;第三行是将复制文件;第四行是将各 Joomla 站点的配置文件 configuration.php 进行相应的更改。

最后执行此脚本文件。
附:为保险起见,可以更改脚本文件中的循环条件,让其只循环一次或几次,以查证脚本文件是否运行正常。如无误再更改循环条件复制剩余的站点。

  1. /home/jayson/joomla_site_batch_clone.sh

稍等一会儿,就可以看到 50 个站点很快就都建立好了,这样可以提高很大的效率,让系统管理员从重复的手工劳动中解放出来。

Bookmark this post:

Leave a Reply