psCopybulkFolderdata

Title: Copy the Folder data to different folders from different servers.

Description: We have different servers in Farm. each server has IIS folders and all IIS data need to copy and need to past in one server with proper folders format,

Step1:  Go to destination server where needs to past the data and
create Folders with below name(same should be in script)



Step2: Each above folder should have server names(should match server names in the script)





Step3: below code will go to server1 and goes to folder E$\IIS-LogFiles\W3SVC1068786477 in server1 and take that file and past into Folder1/Server1, Folder2/Server1.
same how will go to each Server2. and copy and past to Folder1/Server2.



Note: below script need to run in the destination server


  1. $serversname=@("Server1","Server2","Server3","Server4","Server5","Server6","Server7");  
  2.   
  3. $targetFolders=@("E:\LBRLogs\Folder1","E:\LBRLogs\Folder2","E:\LBRLogs\Folder3","E:\LBRLogs\Folder4","E:\LBRLogs\Folder6","E:\LBRLogs\Folder7","E:\LBRLogs\Folder8");  
  4. #Source folder locations from each server  
  5. $IISFolderCode=@("E$\IIS-LogFiles\W3SVC1068786477","E$\IIS-LogFiles\W3SVC728195408","E$\IIS-LogFiles\W3SVC646180574","E$\IIS-LogFiles\W3SVC1818310075","E$\IIS-LogFiles\W3SVC1304651875","E$\IIS-LogFiles\W3SVC2142235292","E$\IIS-LogFiles\W3SVC396048242")  
  6.   
  7.   
  8. $CompressionRetention = 6 # 6 months back data  
  9. $date = $(get-date)  
  10. $numdays = $date.Day  
  11. $prevmonthlastday = $date.AddDays(-$numdays)  
  12.   
  13.   
  14. foreach ($server in $serversname)   
  15.     {  
  16.      $i=0;  
  17.        
  18.      foreach ($IISFolder in $IISFolderCode)   
  19.         {  
  20.          
  21.             $sourceDir="\\"+$server+"\"+$IISFolder  
  22.             $targetDir=$targetFolders[$i]+"\"+$server  
  23.             $i++;       
  24.           
  25.           
  26.             $Items =  get-childitem $sourceDir   |? { ($_.LastWriteTime -ge $prevmonthlastday.AddMonths(-$CompressionRetention))}  
  27.               
  28.   
  29.      foreach ($Item in $Items)   
  30.         {  
  31.             Copy-Item $Item.fullname  -Destination $targetDir -Force   
  32.                
  33.          }  
  34.   
  35.   
  36.         }  
  37.     }