PSPCommunity.org ورود | ثبت نام | كمك
پاک کردن Back Up های قدیمی با استفاده از ابزار Power Shell

همونطور که در پست قبلی قول داده بودم می خوام در این پست نحوه پاک کردن BACK UP  های قدیمی را توضیح بدم.

backup  های قدیمی فضای قابل توجهی از دیسک ما را اشغال می کنن که این موضوع خوشایند مدیران شبکه و شرپوینت نیست به همین دلیل به دنبال روشی هستیم که هم نسخه پشتیبان کاملی داشته باشیم و در کنار آن از فضای دیسک کمتری استفاده کرده باشیم.   همانطور که می دانیم و در پست قبلی توضیح دادم، از ابزار stsadm جهت backup از moss استفاده می کنیم ولیکن در این ابزار قابلیتی جهت پاک کردن backup  های قدیمی وجود ندارد به همین دلیل در این سناریو ابتدا توسط ابزار stsadm  از moss یک نسخه پشتیبان تهیه کرده و در ادامه آن توسط ابزار Power shell نسخه های پشتیبان قدیمی را پاک می کنیم.

برای انجام این کار مراحل زیر را دنبال می کنیم:

  • ابزار power shell  به صورت پیش فرض در windows server 2003 وجود ندارد (مایکروسافت این ابزار را درwindows server 2008 قرار داده است) پس می بایست نسخه این ابزار را download و نصب کنیم که لینک آن را براتون گذاشتم :

              http://technet.microsoft.com/en-us/scriptcenter/default.aspx

  • از طریق command prompt دستور powershell.exe را اجرا کرده تا وارد محیط powershell شویم.
  • سپس دستور Set-ExecutionPolicy Unrestricted اجرا میکنیم، به دلیل sign نبودن  script ی که اجرا میکنیم از این command استفاده می کنیم ، این دستور این امکان را به ما می دهد تا بتوانیم script های  unsigned  را در محیط powershell  اجرا کنیم.
  • یک فایل text  در notepad  ایجاد می کنیم و کد زیر را در آن paste میکنیم، و آن رادر آدرس زیر ذخیره می کنیم

          C:\backup\cleanbackups.ps1

        

# Clean-up (old) backup files created by WSS v3 (STSADM.EXE)
# Created by Marco
# Tested with PowerShell RTM v1.0 
 
# Location of spbrtoc.xml
$spbrtoc = "\\server1\backup\Sharepoint\spbrtoc.xml" 
 
# Days of backup that will be remaining after backup cleanup.
$days = 14 
 
# Import the Sharepoint backup report xml file
[xml]$sp = gc $spbrtoc 
 
# Find the old backups in spbrtoc.xml
$old = $sp.SPBackupRestoreHistory.SPHistoryObject | ? { $_.SPStartTime -lt ((get-
date).adddays(-$days)) }
if ($old -eq $Null) { write-host "No reports of backups older than $days days found in 
spbrtoc.xml.`nspbrtoc.xml isn't changed and no files are removed.`n" ; break} 
spbrtoc.xml.`nspbrtoc.xml isn't changed and no files are removed.`n" ; break} 
 
# Delete the old backups from the Sharepoint backup report xml file
$old | % { $sp.SPBackupRestoreHistory.RemoveChild($_) } 
 
# Delete the physical folders in which the old backups were located
$old | % { Remove-Item $_.SPBackupDirectory -Recurse } 
 
# Save the new Sharepoint backup report xml file
$sp.Save($spbrtoc)
Write-host "Backup(s) entries older than $days days are
 removed from spbrtoc.xml and harddisc."
 removed from spbrtoc.xml and harddisc."

 

من این script را از لینکی که براتون گذاشتم پیدا کردم، نحوه عمل کردن این script  بگونه ای است که هر 14 روز تمامی back up های قدیمی را پاک میکند:

http://blog.wauwwie.nl/Lists/Categories/Category.aspx?Name=MOSS%202007%20%2F%20WSS%20v.3

  • در آخر هم از command زیر یک  batch file بر روی moss  مان ساخته،آن را ذخیره می کنیم و همان طور که در پست قبلی توضیح دادم می توانیم این فایل را schedule کنیم.

stsadm -o backup -directory \\server1\backup -force -backupmethod full


powershell.exe C:\backup\cleanbackups.ps1

موفق و پایدار باشید:)

نحوه schedule کردن full back up

سلام به همه علاقه مندان،پیشکسوتان، تازه کارهاو خلاصه سلام به همه دوستانی که افتخار آشنایی باهاشون رو داشتم و یا از طریق خوندن بلاگ هاشون با آنها  آشنا شدم، این اولین پست منه امیدوارم بتونم اطلاعات مفیدی در زمینه sharepoint در اختیارتون بزارم:)

با توجه به اینکه شرپوینت ابزاری قوی برای مدیریت اطلاعات در سازمان ها تلقی می شود و همچنین  رشد روز افزون آن در سازمانها ما را بر آن می دارد تا به نحوی از این اطلاعات در برابر خرابی های احتمالی محافظت کنیم.استفاده از backup ، زمانبندی این backup ها و چگونگی پاک کردن backup  های قدیمی که حجم زیادی از فضای ما را اشغال نموده اند  برای ما دارای اهمیت بسیاری می باشد.

با نحوه گرفتن full back up از moss با استفاده از ابزار stsadm آشنایی دارید در این پست می خوام در مورد schedule کردن backup با استفاده از این ابزار توضیح بدم و در پست بعدی نحوه پاک کردن back up  های قدیمی که حجم زیادی از فضای دیسک را میگیرن توضیح میدم.

با مراجعه به برنامه windows scheduler در menu بالای صفحه در قسمت file گزینه new و سپس scheduled task را انتخاب می کنیم سپس برای  task مورد نظر یک نام انتخاب می کنیم  ، به عنوان مثال SharePoint backup .

untitled23

با double click بر روی این task :

  • در قسمت Run  دستور زیر را تایپ می کنیم:

               stsadm -o backup -directory \\<server name>\backup -force -backupmethod full 

  •  در قسمت start in محل نگه داری ابزار stsadm را مشخص می کنیم :

               C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN

  •  با استفاده از tab schedule می توانیم زمان شروع و نحوه زمانبندی back up را تنظیم کنیم.

untitled2

 

موفق باشید   :)