Practically in the real case scenario, setting up the My Site by removing the access of the respective user is enough.
If there's a need to backup the site, then do it before removing or locking the site.
For the User Profile's side, we need to keep My Site Cleanup job running properly. Although the name is My Site Cleanup job, it does everything, from removing User Profile, till removing My Site.
There's a good article from one of my favourite SharePoint enthusiast, Spencer Harbar, about User Profile Deletion.
Basically My Site will do these:
- Removing User Profiles that are marked for deletion
- Delete the User Profiles' My Site that are marked for deletion directly, if there's no manager assigned to his/her Active Directory's Manager attribute (generally this will be treated as that person's direct manager.
- If the user has Manager attribute set, it will assign his/her direct manager as secondary contact, and notify direct manager that the My Site will be deleted in 14 days.
- Email the direct manager again after 11 days (3 days before deletion), that My Site will be deleted.
- Total deletion on the 14th days.
There's requirement to let My Site Cleanup job to work properly. It requires My Site Host to be configured. If it is not configured, then the job which includes deletion of User Profile will not work.
System will trigger and set an account marked for deletion if you do one of these:
- Account is deleted
- Account is disabled
- SharePoint User Profile connection is changed with additional filter or recreated
- Account is moved out that is out of OU, and OU is not part of SharePoint User Profile sync
That is why we don't need to do additional jobs, as long as we have the SharePoint configured properly. Basically this timer job will run arround 59 minutes (by default). You can change the amount of time or directly run the timer job.