Prestashop Klonlama Scripti
  1. Anasayfa
  2. Şurda Dursun

Prestashop Klonlama Scripti

0

Linux üzerinde host ettiğim prestashop sitesinin zaman zaman klonunu alıp test sitesi olarak kullanmam gerekiyordu. Bu ihtiyacımdan ötürü bir script hazırladım. Bu script canlı sitenin veritabanı ve dosyalarını test sitesinin dizin ve veritabanına klonluyor ve gerek dosyalarda gerekse veritabanında değiştirilmesi gereken ifadeleri değiştiriyor. Böylece canlı sitenizin birkaç dakika içinde klonlanmış halini test sitesine dönüştürebiliyorsunuz. Scriptin ilk satırlarında test ve canlı site için birkaç değeri elle girmeniz gerek. Yazının devamındaki scripti dosyaismi.sh olarak kaydettikten sonra konsolda

#chmod +x dosyaismi.sh

komutunu çalıştırınız.

 

#Bu script prestashop canli sitenin klonunu alarak test sitesinin olusturulmasini saglar.
#Script hicbir sekilde apache, php, mysql yapilandirmanizi degistirmez. Tek yaptigi dosya kopyalamak ve db yedek alip yedekten donmedir.
#Scripti yazan : Onur AYDIN - [email protected]

#########################################################################################
################  ASAGIDAKI CANLI VE TEST SITE BILGILERINI GIRINIZ  #####################

###Canli Site Bilgileri
CANLISITEURL=                         ## ORNEK : CANLISITEURL=satis.domain.com
CANLISITEPATH=                        ## ORNEK : CANLISITEPATH=/var/www/satis
CANLISITEDBSUNUCU=                    ## ORNEK : CANLISITEDBSUNUCU=localhost
CANLISITEDBADI=                       ## ORNEK : CANLISITEDBADI=satis 
CANLISITEDBKULLANICI=                 ## ORNEK : CANLISITEDBKULLANICI=root
CANLISITEDBSIFRE=                     ## ORNEK : CANLISITEDBSIFRE=123456

###Test Site Bilgileri
TESTSITEURL=                          ## ORNEK : TESTSITEURL=satis-test.domain.com
TESTSITEPATH=                         ## ORNEK : TESTSITEPATH=/var/www/satis-test
TESTSITEDBSUNUCU=                     ## ORNEK : TESTSITEDBSUNUCU=localhost
TESTSITEDBADI=                        ## ORNEK : TESTSITEDBADI=satis_test
TESTSITEDBKULLANICI=                  ## ORNEK : TESTSITEDBKULLANICI=root
TESTSITEDBSIFRE=                      ## ORNEK : TESTSITEDBSIFRE=123456

#########################################################################################
##########  DIKKAT  BU SATIRDAN ASAGIDAKI SATIRLARI DEGISTIRMEYINIZ  ####################

##########DOSYA ISLEMLERI###########
###Test site dizinini temizleyelim
echo "Test Site dizinindeki tum dosyalar siliniyor"
rm -R $TESTSITEPATH/*
###Canli site dosyalarinin dizinine gecelim
cd $CANLISITEPATH
###Canli sitenin tum dosyalarini test sitesinin dizinine kopyalayalim
echo "Canli Site dosyalari Test Site dizinine kopyalaniyor"
cp -R * $TESTSITEPATH
###Test Site dizinindeki dosya ve dizinlerin yetkileri tanilaniyor
echo "Test site dizini yetkileri 777 olarak set ediliyor"
chmod -R 777 $TESTSITEPATH/config
chmod -R 777 $TESTSITEPATH/cache
chmod -R 777 $TESTSITEPATH/log
chmod -R 777 $TESTSITEPATH/img
chmod -R 777 $TESTSITEPATH/mails
chmod -R 777 $TESTSITEPATH/modules
chmod -R 777 $TESTSITEPATH/themes/default/lang
chmod -R 777 $TESTSITEPATH/themes/default/pdf/lang
chmod -R 777 $TESTSITEPATH/themes/default/cache
chmod -R 777 $TESTSITEPATH/translations
chmod -R 777 $TESTSITEPATH/upload
chmod -R 777 $TESTSITEPATH/download
chmod -R 777 $TESTSITEPATH/sitemap.xml

###Test sitesinin setting.inc.php dosyasinda canli sitemin db bilgileri var. Onu degistirelim.
echo "Test Site setting.inc.php dosyasindaki degerler degistiriliyor" 
sed -i s/$CANLISITEDBSUNUCU/$TESTSITEDBSUNUCU/g $TESTSITEPATH/config/settings.inc.php
sed -i s/$CANLISITEDBADI/$TESTSITEDBADI/g $TESTSITEPATH/config/settings.inc.php
sed -i s/$CANLISITEDBKULLANICI/$TESTSITEDBKULLANICI/g $TESTSITEPATH/config/settings.inc.php
sed -i s/$CANLISITEDBSIFRE/$TESTSITEDBSIFRE/g $TESTSITEPATH/config/settings.inc.php

##########VERITABANI ISLEMLERI###########
###Canli sitenin veritabanini export edelim
cd /tmp
echo "Canli site veritabani export ediliyor"
mysqldump -u $CANLISITEDBKULLANICI -p$CANLISITEDBSIFRE $CANLISITEDBADI > tempdb.sql
###Export ettigimiz sql dosyasinin icinde gecen canli site URL i degistirelim
echo "Export edilen veritabani dosyasinda site url degeri degistiriliyor"
sed -i s/$CANLISITEURL/$TESTSITEURL/g tempdb.sql
###Export ettigimiz sql dosyasini test sitenin veritabanina geri yukleyelim
echo "Canli sitenin veritabani Test Sitenin  veritabanina yaziliyor"
mysql -u $TESTSITEDBKULLANICI -p$TESTSITEDBSIFRE $TESTSITEDBADI < tempdb.sql
### tempdb.sql dosyasini silelim
echo "/tmp dizinindeki tempdb.sql dosyasi siliniyor"
rm /tmp/tempdb.sql
echo "Islem tamamlandi"
###BITTI

İlginizi Çekebilir

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir