I have requirement which is when user accidentally select delete button for site collection it has to perform backup operation automatically before it deleted is there any WSP solutions available please suggest me.
Many Thanks
I have requirement which is when user accidentally select delete button for site collection it has to perform backup operation automatically before it deleted is there any WSP solutions available please suggest me.
Many Thanks
I think no need for WSP solutions, the SharePoint already handles this operation by adding the deleted site collection in the Second stage
when a user accidentally deletes a site collection from GUI Central Admin.
How to Restore Deleted the Site Collection
If you've accidentally deleted a site collection, you can restore it back within 30 days
depends on the Site Quota using Restore-SPDeletedSite PowerShell.
Check also Delete and restore site collections in SharePoint Server
But if you need to keep the backup for a long time (> 30 days), you can handle this through the code, by developing your own Event Receiver to perform a backup when a site collection is being deleted
Now, you just need to know How to perform a backup to a site collection
Backup Site collection C# Code
SPFarm myFarm = SPFarm.Local;
SPServiceCollection myServices = myFarm.Services;
Guid serviceID = new Guid("21d91b29-5c5b-4893-9264-4e9c758618b4");
SPWebService webPubService = (SPWebService)myServices[serviceID];
// Get a reference to the Web application that hosts the
// site collection.
SPWebApplicationCollection myApps = webPubService.WebApplications;
Guid appID = new Guid("10ea4e6f-ae37-4909-b04f-f516c066bc37");
SPWebApplication myApp = myApps[appID];
// As alternative to the preceding three lines, you can use
// the following when you know the URL of the Web application:
// SPWebApplication myApp = SPWebApplication.Lookup(url_of_Web_app)
// Get a reference to the Web application's collection of
// site collections.
SPSiteCollection mySiteCols = myApp.Sites;
// Back up a specified site collection.
mySiteCols.Backup(@"http://Server/sites/MySiteCollection", @"\\OtherServer\WSSBackups\SiteCollections\BackupOfMySiteCollection", true);
Check also How to: Programmatically Back Up and Restore a Single Site Collection