ব্যাকআপগুলি করার ক্ষেত্রে, আমার একটি ব্যাচের স্ক্রিপ্ট দরকার যা আমাকে একটি নির্দিষ্ট ডিরেক্টরিতে ফাইলগুলি মুছতে দেয়, যেটি 3 দিনের চেয়ে বলার অপেক্ষা রাখে না। এই স্ক্রিপ্টটি প্রতিদিন নির্ধারিত সময়ে চলার জন্য একটি নির্ধারিত টাস্ক হিসাবে সেট করা হবে।
ব্যাকআপগুলি করার ক্ষেত্রে, আমার একটি ব্যাচের স্ক্রিপ্ট দরকার যা আমাকে একটি নির্দিষ্ট ডিরেক্টরিতে ফাইলগুলি মুছতে দেয়, যেটি 3 দিনের চেয়ে বলার অপেক্ষা রাখে না। এই স্ক্রিপ্টটি প্রতিদিন নির্ধারিত সময়ে চলার জন্য একটি নির্ধারিত টাস্ক হিসাবে সেট করা হবে।
উত্তর:
যদি পাওয়ারশেলটি গ্রহণযোগ্য হয় (সার্ভার ২০০+ এ এটি ডিফল্টরূপে সক্ষম হিসাবে হওয়া উচিত) এটি ব্যবহার করে দেখুন:
$numberOfDays = 3
$Now = Get-Date
$TargetFolder = “C:\myoldfiles”
$LastWrite = $Now.AddDays(-$numberOfDays)
$Files = get-childitem $TargetFolder -include *.bak, *.x86 -recurse | Where {$_.LastWriteTime -le “$LastWrite”}
foreach ($File in $Files)
{
write-host “Deleting File $File” -foregroundcolor “Red”;
Remove-Item $File | out-null
}
সস এখানে ।
Remove-Item $File -whatif | out-null
। তফসিল টাস্ক হিসাবে চালানোর জন্য, কাজের আর্গুমেন্ট হিসাবে আপনার স্ক্রিপ্টটি পাওয়ারশেল.অ্যাক্সের পুরো পথ নির্দিষ্ট করতে হবে।
forfiles -pc: \ pathtofiles \ -m * .rar -d -5 -c "cmd / c del @path"
-5
আপনি যে ফাইলগুলি মুছতে চান তার বয়স কোথায় (এই ক্ষেত্রে 5 দিন বা তার বেশি বয়সী)। এই স্ক্রিপ্টটি .rar
ফাইলগুলি মোছা হচ্ছে - -m *.rar
আপনি কোনও ফাইলের ধরণ মুছতে চাইলে ড্রপ করুন ।
আপনি যদি ব্যাচ ফাইলগুলি ব্যবহার করার জন্য জেদ করেন তবে রবোকপি.এক্সই আপনার উত্তর। এটির দ্রুত (বহুবিধ) এবং খুব শক্ত ust আপনার দৃশ্যের জন্য আপনি নিম্নলিখিত হিসাবে গাইড হিসাবে ব্যবহার করতে পারেন:
:: Moves dir & files older than 3 days to i:\Destination
:: Wildcards acceptable
robocopy i:\Source\ i:\Destination\ /MOVE /MIR /MINAGE:3 /ETA
:: Removes the destination tree
rd /s /q i:\destination
বিকল্পগুলির একটি দীর্ঘ তালিকা রয়েছে, দয়া করে রোবোকপি / করবেন? তাদের সব দেখতে। এমনকি আপনি এটি ইনক্রিমেন্টাল ব্যাকআপ, সময় নির্ধারণ, ব্যাকআপ প্রোফাইল তৈরি ইত্যাদি করতেও ব্যবহার করতে পারেন
আপনি হোর্স্ট শ্যাফারের ডেলএজ 32 এর দিকে নজর দিতে পারেন:
http://home.mnet-online.de/horst.muc/wbat32.htm#top
DelAge32 - ver. 2.3 (c) 2003-2008, Horst Schaeffer
Deletes or moves files (path with file pattern) by age (number of days)
Syntax: DelAge32 filespec age [options]
Options:
/created /accessed /modified (default) - file stamp used to evaluate age
/includeRO - include read-only files
/includeH - include hidden files
/includeS - include system files
/includeRHS -include read-only, hidden and system files
/recurse - include subdirectories
/subonly - /recurse excluding initial directory
/rd - remove empty subdirectories
/move path - move files to specified path
/preview - list, but no action
/quiet - no output
আপনার আদেশটি হিসাবে সহজ হতে পারে:
delage32.exe c:\logdirectory\*.log 3
আমার এই কমান্ডটি নির্ধারিত কাজ হিসাবে চলছে running
এটি আপনি যা চান তা করতে আমি লিখেছিলাম এমন একটি পাওয়ারশেল স্ক্রিপ্ট - এটি আরও কিছুটা আরও করে। আমি লগ এবং অন্যান্য অস্থায়ী ফাইলগুলি সাফ করার জন্য এটি ব্যবহার করি।
রেচক পদার্থ-Dem-logs.cmd
powershell.exe -command "& 'c:\purgelogs\purgelogs.ps1' -Filepath D:\SQL\backup\ -filemask *.bak -Maxdays 14 "
purgelogs.ps1:
Param ($filepath, $filemask, $maxdays, [switch]$recurse)
if (($FilePath -eq $null) -or ($FileMask -eq $null) -or ($MaxDays -eq $null)) {
write-host "Usage .\purgelogs.ps1 -filepath [Path] -filemask [Mask] -masdays [Max Days]"
write-host " "
write-host "Example: "
write-host " .\purgelogs.ps1 -filepath c:\temp -filemask *.log -maxdays 30"
break
}
if (Test-Path $FilePath) {
$FilePath += "*"
$Now = Get-Date
$LastWrite = $Now.AddDays(-$MaxDays)
write-host "Last write time " $LastWrite
if ($recurse) {
$Files = get-childitem $FilePath -include $FileMask -recurse | Where {$_.LastWriteTime -le "$LastWrite"}
} else {
$Files = get-childitem $FilePath -include $FileMask | Where {$_.LastWriteTime -le "$LastWrite"}
}
if ($Files -eq $null) {
write-host "No matching files found"
} else {
foreach ($File in $Files)
#You can add -whatif to see the consequence û Remove-item $File -Whatif
{
write-host "Deleting File $File" -foregroundcolor "Red"; Remove-Item $File | out-null
}
}
}
Else
{
Write-Host "The Folder $FilePath Does Not Exist!"
}
এটি দূরবর্তী কম্পিউটারগুলির জন্য কাজ করবে না। প্রশাসকদের একাধিক কম্পিউটার পরিচালনা করতে হবে। নীচে স্ক্রিপ্টটি যে একাধিক রিমোট কম্পিউটারে ফোল্ডারগুলিতে লগইন না করে মুছতে ব্যবহার করা যেতে পারে।
স্ক্রিপ্টের নীচে 15 দিনের বেশি ফোল্ডার মুছে ফেলা হবে। আপনি যদিও $ দিনের প্যারামিটারটি পরিবর্তন করতে পারেন।
ডি \ \ প্রোগ্রাম ফাইল (x86) \ গতি গবেষণা \ ব্ল্যাকবেরি এন্টারপ্রাইজ সার্ভার \ লগগুলি ব্ল্যাকবেরি লগ ফোল্ডারের জন্য ইউএনসি পাথ। আপনার লগগুলি / ফোল্ডারগুলি যেখানে অবস্থিত সেখানে আপনি ডিরেক্টরিটি পরিবর্তন করতে পারেন।
সার্ভার.টেক্সট ফাইলটিতে আপনার সমস্ত সার্ভারের নাম তালিকাভুক্ত করুন এবং এটি এই স্ক্রিপ্টের মতো একই ডিরেক্টরিতে অবস্থিত হওয়া উচিত।
cd C:\Scripts\Powershellscripts\deletefiles ----> change it to the directory you wanna out this script to
$Days = "15"
$Now = Get-Date
$LastWrite = $Now.AddDays(-$days)
$server = get-content servers.txt
foreach ($node in $server)
{
get-childitem -recurse "\\$node\D$\Program Files (x86)\Research In Motion\BlackBerry Enterprise Server\Logs" | Where-Object {$_.LastWriteTime -le $LastWrite} | remove-item -recurse -force
}
স্ক্রিপ্টটি .ps1 হিসাবে সংরক্ষণ করুন এবং এটি চালান। আপনি এটি ব্যাচ ফাইলের মাধ্যমে সময়সূচী করতে পারেন। স্ক্রিপ্টের শুরুতে আপনাকে পরিবর্তন ডিরেক্টরি কমান্ড যুক্ত করতে হবে।
আনন্দ কর.
বিকল্প পদ্ধতির হিসাবে: ফাইল তৈরির সময় পাওয়ার জন্য ফাইল সিস্টেমের অনুসন্ধানের উপর নির্ভর করার পরিবর্তে (এবং একই দিনে একাধিক দিন ধরে হিট হওয়া, তাদের মেয়াদ শেষ না হওয়া পর্যন্ত) আপনি তৈরির সময় ফাইলটিকে নিজের একটি সূচীতে যুক্ত করতে পারেন। সূচকটি সম্ভাব্যভাবে তৈরির তারিখ অনুসারে কোনও ফাইলের মতোই সহজ হতে পারে, একটি লাইনে প্রতি ফাইলের সাথে একটি পরিচিত স্থানে সঞ্চিত হয়।
যদি আপনার কাছে কোনও মাল্টিথ্রেডেড / মাল্টিপ্রসেস অ্যাপ থাকে যা ফাইল তৈরি করে থাকে তবে আপনি নিজের সূচকটি আরও পরিশীলিত পদ্ধতিতে পরিচালনা করতে চাইতে পারেন।
সুবিধাটি হ'ল আপনার কাছে সর্বদা একটি অপেক্ষাকৃত সহজ-প্রক্রিয়াকৃত ফাইলগুলির একটি নির্দিষ্ট দিনে তৈরি করা তালিকা থাকে যা আপনি পুনরাবৃত্তি করতে পারবেন, বিশদটির জন্য বারবার ফাইল সিস্টেমটি জিজ্ঞাসা না করে।
(এটি তৃতীয় পক্ষের দ্বারা নয় বরং আপনার দ্বারা পরিচালিত এ্যাপ এবং ফাইল তৈরির উপর নির্ভর করবে)।