SharePoint PowerShell Kullanarak Bir Web Application’ı Backup Alarak Başka Bir Web Application’a Restore Ederek Taşıma – Yunus Emre Araç
Merhaba arkadaşlar bugün sizlere bir web applicationın yedeğini alarak başka bir web applicationa taşıma işlemini powershell kullanarak nasıl yapacağımızı göstereceğim.
İlk olarak bu yöntemi kullanıldığında karşısınıza çıkabilecek bazı durumlardan bahsetmek istiyorum.
Eğer taşıma işlemini farklı sunucularda yapacaksınız sunuculardaki kullanıcılar veya dominler farklı ise tüm sitedeki yetkiler yedeği alınan sunucudaki kullanıcılar ile gelecektir. Manuel olarak düzenlenmesi gerekmektedir. Hatta sitenin site collection adminleri de yedek alınan ortamdaki kullanıcılar olacağı için central administrator den site collection adminlerinin güncellenmesi gerekmektedir.
Taşıma işlemi sonucunda web config ve diğer ekstra configuration dosyalarındaki özel güncellemeler gelmeyebilir. Bundan dolayı buralardaki değişiklikleri sizin manuel kontrol ederek güncellemeniz gerekecektir.
Console, windows service vb. sitenize bağlı olarak çalışan uygulamalar var ise bunları da manuel taşımasını yaparak bağlantıdı site adresini yeni site adresi ile güncellemeniz gerekmektedir.
Farm Solution olarak oluşturulup deploy edilmiş WSP pakatleri var ise bunlarında taşınacak ortamdan alınarak taşınan ortama deploy edilerek yeni web applicationa kurulması gerekmektedir.
Elimizde “http://site1” ve “http://site2” adında iki tane web applicationımız var diyelim ve bunlardan site1 adresinin yedeğini alarak site2 adresine kopyalayacağız.
Yukarıda da gördüğünüz gibi site adresleri ile site title bilgileri aynı ve her iki sitenin tasarımı birbirinden farklı gelmektedir.
Şimdi site1 adlı web applicationımızın yedeğini powershell kullanarak almamız gerekiyor. İlk iş olarak “SharePoint Management Shell” administrator olarak çalıştırıyoruz.
Aşağıdaki powershell kodumunzu “http://site1” kısmını yedek alacağınız web application adresi ile ve “C:\site1.bak” kısmını da alacağınız yedek dosyasının kaydedileceği konum ve dosya adını yazarak powershell de çalıştırıyoruz. Burada kaydedilecek dosyanın uzantısının kesinlikle “.bak” uzantı adında olması gerekmektedir.
Backup-SPSite http://site1 -Path C:\site1.bak
Bu powershell kodunun çalışması ve tamamlanma süresi sitenin büyüklüğüne göre değişebilmektedir.
Powershell kodumuz tamamlandıktan sonra imleç tekrar gelecektir. Herhangi bir hata almadan yedek alma işlemi tamamlandıktan sonra yedek dosyamızı kaydettiğimiz konuma gittiğimiz zaman aşağıdaki gibi “.bak” uzantılı yedek dosyamızı görebiliriz.
Backup dosyamızı taşıyacağımız web applicationın olduğu sunucu da herhangi bir konuma kopyalıyoruz. Daha sonra aşağıdaki powershell kodunu “http://site2” kısmını taşımayı yapacağımız web application adresi ile “C:\site1.bak” kısmını ise yedek dosyasını kopyaladığımız sunucu konumu ve yedeğin dosya adı uzantısı ile değiştirip powershellde çalıştırıyoruz.
Restore-SPSite http://site2 -Path C:\site1.bak -Force
Komut çalıştırmanın hemen sonrasında bu işlemi yapıp yapmayacağımıza emin olup olmadığımızı soracaktır ve bu kısımda da konsola “A” yazıp enter tuşuna basarak işlemi başlatıyoruz. Bu kısımda da süre yedek dosyasının boyutuna göre değişiklik gösterebilir.
Konsol uygulaması hata vermeden tamamlandıktan sonra imleç tekrar geldiğinde işleminiz tamamlanmıştır. Sitenizi tekrar açtığınızda taşıma eşleminin başarı ile gerçekleştiğini göreceksiniz.
Yukarıda da gördüğünüz gibi site2 adresi site1 title ve tasarımı ile açıldı.
Posted in SharePointTagged Backup, Backup-SPSite, Microsoft, PowerShell, Restore, Restore-SPSite, SharePoint, SharePoint Management Shell, Web Application, Web Applications