همونطور که در پست قبلی قول داده بودم می خوام در این پست نحوه پاک کردن 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
stsadm -o backup -directory \\server1\backup -force -backupmethod full
powershell.exe C:\backup\cleanbackups.ps1
موفق و پایدار باشید:)
سلام به همه علاقه مندان،پیشکسوتان، تازه کارهاو خلاصه سلام به همه دوستانی که افتخار آشنایی باهاشون رو داشتم و یا از طریق خوندن بلاگ هاشون با آنها آشنا شدم، این اولین پست منه امیدوارم بتونم اطلاعات مفیدی در زمینه sharepoint در اختیارتون بزارم:)
با توجه به اینکه شرپوینت ابزاری قوی برای مدیریت اطلاعات در سازمان ها تلقی می شود و همچنین رشد روز افزون آن در سازمانها ما را بر آن می دارد تا به نحوی از این اطلاعات در برابر خرابی های احتمالی محافظت کنیم.استفاده از backup ، زمانبندی این backup ها و چگونگی پاک کردن backup های قدیمی که حجم زیادی از فضای ما را اشغال نموده اند برای ما دارای اهمیت بسیاری می باشد.
با نحوه گرفتن full back up از moss با استفاده از ابزار stsadm آشنایی دارید در این پست می خوام در مورد schedule کردن backup با استفاده از این ابزار توضیح بدم و در پست بعدی نحوه پاک کردن back up های قدیمی که حجم زیادی از فضای دیسک را میگیرن توضیح میدم.
با مراجعه به برنامه windows scheduler در menu بالای صفحه در قسمت file گزینه new و سپس scheduled task را انتخاب می کنیم سپس برای task مورد نظر یک نام انتخاب می کنیم ، به عنوان مثال SharePoint backup .

با 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 را تنظیم کنیم.

موفق باشید :)