আমি লগগুলি ঘোরানোর জন্য আইআইএস সেটআপ করব কীভাবে?


21

আমি বহু বছর ধরে অ্যাপাচি ব্যবহার করেছি এবং এটি আমার জন্য লগ রোটেশন পরিচালনা করে granted আমি আইআইএস কনফিগারেশন এবং গুগলিংয়ের মাধ্যমে খনন করেছি, তবে আইআইএসের জন্য লগ রোটেশন চালু করার জন্য কোনও বিকল্প খুঁজে পাচ্ছি না।

নির্দিষ্ট প্রান্তিকের অতীত লগগুলি মুছতে আইআইএস কনফিগার করার পছন্দের উপায়টি কী? এমন কোনও পণ্য রয়েছে যা আপনার জন্য এটি করে? উদ্যোগী উইন্ডোজ শপগুলি কী করে?

কনফিগারেশন: আইআইএস 6.0 / উইন্ডোজ সার্ভার 2003 32-বিট


একটি খুব ভাল প্রশ্ন। আইআইএসের ঘূর্ণন রয়েছে, তবে শুদ্ধকরণ বা সংরক্ষণাগার পরিচালনা করে না। আমি বুঝতে পারছি না যে কোনও পণ্য, অন্য ক্ষেত্রে পরিপক্ক, কেন এইরকম একটি প্রাথমিক বৈশিষ্ট্য অনুপস্থিত। ডিফল্ট কনফিগারেশন সহ, আইআইএস লগ সহ রুট ড্রাইভটি পূরণ করে আত্মহত্যা করে। (আমার ধারণা এসকিউএল এবং এর লেনদেন লগগুলির জন্যও এটি বলা যেতে পারে))
নাথান হার্টলি

উত্তর:


11

লগ রোটেশন বা সংরক্ষণাগার পরিচালনা করার জন্য কোনও মেকানিজম অন্তর্নির্মিত নেই। এই কাজ পরিচালনা করতে তৃতীয় পক্ষের পণ্য থাকতে পারে বা আপনি কিছু স্ক্রিপ্ট করতে এবং একটি নির্ধারিত টাস্কটি কনফিগার করতে পারেন। আমার কাছে কেবল আইআইএস সার্ভারের হ্যান্ডফুল রয়েছে তাই আমি আউটলুকে একটি পুনরাবৃত্ত টাস্ক সেটআপ করেছি যাতে আমি 30 মাসের বেশি বয়সী আইআইএস লগ ফাইলগুলি মুছতে প্রতিমাসে মনে করিয়ে দিতে পারি।


5
এটি বেদনাদায়ক শোনায়। এটি নির্ধারণ করার চেষ্টা করুন ... গেট-চাইল্ড আইটেম ই: \ লগ * -সামগ্রী করুন * .লগ -আরসি | যেখানে-অবজেক্ট {$ _। সর্বশেষ রাইটটাইম -ল্ট (গেট-ডেট) .ডেডস (-30)} | সরান-আইটেম
নাথান হার্টলি


5

আইআইএস লগস সরঞ্জামটি দেখুন ( http://www.iislogs.com/ )। এটি ইনস্টল করার বিভিন্ন উপায় রয়েছে এবং আইআইএস এবং অন্যান্য লগ ফাইল পরিচালনার ক্ষেত্রে খুব কার্যকর কাজ করে (ফাইলগুলিকে .zip ফর্ম্যাটে সংকুচিত করে, বিভিন্ন স্থানে সরিয়ে ফেলা, নির্দিষ্ট তারিখের আগের ফাইলগুলি মুছে ফেলা ইত্যাদি)।


1

"পুরাতন" নামের একটি সাব-ডিরেক্টরিতে ফাইলগুলি অনুলিপি করতে রোবকপি ব্যবহার করার জন্য একটি নির্ধারিত টাস্ক সেটআপ করুন। এটিতে একটি স্যুইচ / মাইনেজ রয়েছে: x যা আপনি 30,60 এ সেট করতে পারেন বা যা কিছু আপনার মনে হয়। তারপরে সেই ডিরেক্টরিতে থাকা সমস্ত কিছু মুছুন। আমি কয়েক ডজন সার্ভারে এটি এইভাবে করছি এবং এটি কৌশলটি মনে হচ্ছে।


0

অন্যান্য উত্তরগুলি ভাল, এবং এই সমস্যার আরও দৃ solution় সমাধান প্রস্তাব। আপনার যদি কেবল দ্রুত সমাধানের প্রয়োজন হয়, আপনি প্রতিবার যখন লগইন করবেন বা সময়সূচীতে আপনার লগ ফোল্ডারটি স্বয়ংক্রিয়ভাবে পরিষ্কার করতে আপনি সিসিএনার সেটআপ করতে পারেন।

তবে মনে রাখবেন যে এটি কেবলমাত্র বয়স্ক ফাইলগুলিই নয় সমস্ত লগ মুছে ফেলে ।

আমি এই নির্দেশাবলী অনুসরণ করেছিলাম তবে যুক্ত করেছি যে ব্যবহারকারীটি লগ-অফ করার সময়ও এটি চালানো উচিত, যেমন কোনও সার্ভারের স্বাভাবিক ক্ষেত্রে।


0

আমি সম্প্রতি পাওয়ারশেল.আর.আরোগ ফোরামে এই একই প্রশ্নটি তুলে ধরেছি । তারপরে কাঙ্ক্ষিত রাজ্য কনফিগারেশনের জন্য স্ক্রিপ্ট রিসোর্সের একটি হ্যাক পোস্ট করে শেষ করেছিলাম যে আমি লগ পরিষ্কার করার রুটিনের জন্য আমার প্রয়োজনীয়তা সমাধান করতে ব্যবহার করব। হতে পারে এই কোডটির কিছু অন্যের পক্ষে কার্যকর হবে।

# Requires an E: drive.

configuration LogDirectory
{
    param (
        [Parameter(Mandatory)]
        [ValidateNotNullOrEmpty()]
        [string[]]$Node
    )
    node $Node
    {
        Script LogDirectoryScript
        {
            GetScript = {
                $result = (Test-Path 'E:\log') -and (schtasks.exe /query /TN Purge_Log_Folder | Select-String Purge_Log_Folder -Quiet)
                return @{
                    GetScript = $GetScript
                    SetScript = $SetScript
                    TestScript = $TestScript
                    Result = $result
                }
            }

            SetScript = {
                Write-Verbose 'Creating log directory.'
                if ( -not (Test-Path 'E:\log')) { 
                    New-Item -ItemType Directory -Path 'E:\log'
                }

                Write-Verbose 'Changing permissions to log directory such that any user can write, but only an administrator can read or modify.'
                $acl = (Get-Item 'E:\log').GetAccessControl('Access')
                $acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule('Users','Write', 'Allow')))
                Set-Acl -Path 'E:\log' -AclObject $acl | Out-Host

                Write-Verbose 'Scheduling purge task.'
                $script = 'Get-ChildItem E:\log\* -Include ex*.log -Recurse  | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-7)} | Remove-Item'
                Set-Content -Path C:\Windows\Purge_Log_Folder.ps1 -Value $script
                $task = 'Powershell.exe -NoProfile -ExecutionPolicy RemoteSigned -File C:\Windows\Purge_Log_Folder.ps1'
                SCHTASKS /CREATE /TN Purge_Log_Folder /TR $task /SC DAILY /ST 23:59 /RU SYSTEM /F | Out-Host

                Write-Verbose 'Configuring IIS'
                # Default Log File Settings for Web Sites <logFile>
                # http://www.iis.net/configreference/system.applicationhost/sites/sitedefaults/logfile
                Import-Module WebAdministration
                Set-WebConfigurationProperty '/system.applicationHost/sites/siteDefaults' -name logFile -value @{
                    directory = 'E:\log'
                    localTimeRollover ='true'
                    period = 'Hourly'
                }
            }

            TestScript = {
                (Test-Path 'E:\log') -and (schtasks.exe /query /TN Purge_Log_Folder | Select-String Purge_Log_Folder -Quiet)
            }
        }
    }
} 
LogDirectory

0

আইআইএস 7 নিয়মিতভাবে লগ ফাইলগুলি মুছতে একটি কনফিগারেশন প্রবর্তন করে। আরও তথ্যের periodজন্য নিম্নলিখিত লিঙ্কগুলিতে দেখুন:

http://www.iis.net/configreference/system.applicationhost/log/centralbinarylogfile

http://www.iis.net/configreference/system.applicationhost/log/centralw3clogfile


1
আমি মনে করি না এই বৈশিষ্ট্যটি লগ ফাইলগুলি মুছে ফেলে, এটি কেবলমাত্র একটি নতুন লগ ফাইল তৈরির সময়সীমা নির্দিষ্ট করে, যেমন প্রতিদিন, প্রতি ঘণ্টায়, ইত্যাদি etc. একটি নতুন লগ ফাইল শুরু হয়েছে। " মুছে ফেলার উল্লেখ নেই।
সোমান্ত্রা

0

আপনি একটি নির্ধারিত টাস্ক এবং একটি ব্যাচ ফাইলের সাহায্যে এটি করতে পারেন।

forfiles -p "C:\Path\To\Log\Files" -m *.* /D -30 /C "cmd /c del @path"
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.