.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.0102 (Pod::Simple 3.45) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "OVSQLITE-UTIL 8" .TH OVSQLITE-UTIL 8 2024-05-19 "INN 2.7.4" "InterNetNews Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "نام (NAME)" ovsqlite\-util \- ابزار مدیریت و دستکاری داده‌های کلی برای ovsqlite .SH "خلاصه دستور (SYNOPSIS)" .IX Header "SYNOPSIS" \&\fBovsqlite-util\fR [\fB\-AFghioO\fR] [\fB\-a\fR \fIarticle\fR] [\fB\-n\fR \fInewsgroup\fR] [\fB\-p\fR \fIpath\fR] .SH "توضیحات (DESCRIPTION)" .IX Header "DESCRIPTION" دستور \&\fBovsqlite-util\fR یک رابط مدیریتی برای روش داده‌های کلی (overview) مبتنی بر ovsqlite در INN است. این ابزار فقط روی پایگاه‌های داده مرور ovsqlite کار می‌کند، نه روی هیچ نوع روش مرور دیگر در INN. (برای روش‌های داده‌های کلی ovdb و tradindexed به برنامه‌های اختصاصی \&\fBovdb_stat\fR(8) و \&\fBtdx\-util\fR(8) مراجعه کنید.) این برنامه به مدیر سیستم امکان می‌دهد اطلاعات گوناگونی را درباره وضعیت درونی داده‌های کلی استخراج کرده، آن را برای یافتن خطاها بازرسی کند و این خطاها را برطرف نماید. .PP برای بازرسی کل پایگاه داده مرور جهت یافتن مشکلات، از گزینه \&\fB\-A\fR استفاده کنید. بسته به تعداد گروه‌های خبری و مقالات موجود در پایگاه داده مرور، این بررسی‌ها ممکن است زمان زیادی طول بکشد. هرگونه مشکل یافت‌شده به خروجی خطای استاندارد گزارش داده خواهد شد. برای اصلاح خطاهای یافت‌شده از \&\fB\-F\fR استفاده کنید. .PP اجرای این ابزار در حین فعال بودن سرور کاملاً ایمن است. در صورتی که نیاز به اعمال اصلاحات روی پایگاه داده باشد (هنگام استفاده از گزینه \&\fB\-F\fR)، برنامه \&\fBovsqlite-util\fR پیش از انجام عملیات خود، سرور را به درستی متوقف کرده و سپس آن را از سر می‌گیرد. .PP تعداد رکوردهای داده‌های کلی ذخیره‌شده در پایگاه داده را می‌توان با دستور \&\f(CW\*(C`inndf \-n\*(C'\fR به دست آورد. .PP از آنجا که \&\fBovsqlite-util\fR پایگاه داده داده‌های کلی ovsqlite را مستقیماً باز می‌کند، در زمان فعال بودن INN به دلیل اینکه ممکن است \&\fBovsqlite-server\fR قفل‌هایی روی جدول‌های خاصی نگه داشته باشد، ممکن است تکمیل عملیات زمان بیشتری طول بکشد؛ در این حالت \&\fBovsqlite-util\fR صرفاً منتظر آزاد شدن قفل‌ها می‌ماند. (پارامتر \&\fItranstimelimit\fR در \&\fIovsqlite.conf\fR مدت زمان یک تراکنش را کنترل می‌کند، بنابراین می‌توانید بررسی کنید که مقدار خیلی بالایی برای آن تنظیم نکرده باشید.) .SH "پیش‌نیازها (REQUIREMENTS)" .IX Header "REQUIREMENTS" برای کارکرد این برنامه، ماژول پرل \&\f(CW\*(C`DBI\*(C'\fR به همراه درایور \&\f(CW\*(C`DBD::SQLite\*(C'\fR باید نصب باشند. این بسته‌ها در بیشتر توزیع‌ها با نام‌هایی مانند \&\f(CW\*(C`libdbd\-sqlite3\-perl\*(C'\fR، \&\f(CW\*(C`perl\-DBD\-SQLite\*(C'\fR یا \&\f(CW\*(C`p5\-DBD\-SQLite\*(C'\fR موجود هستند. همچنین می‌توان آن‌ها را مستقیماً از CPAN نصب کرد (توزیع‌های \&\f(CW\*(C`DBI\*(C'\fR و \&\f(CW\*(C`DBD\-SQLite\*(C'\fR در و در دسترس هستند). .PP طبیعتاً، همان‌طور که در صفحه راهنمای \&\fBovsqlite\fR(5) با جزئیات توضیح داده شده است، پایگاه داده مرور ovsqlite نیز باید در حال استفاده باشد. .SH "گزینه‌ها (OPTIONS)" .IX Header "OPTIONS" .IP "\fB\-a\fR \fIarticle\fR" 4 .IX Item "-a article" شماره مقاله یا مقالاتی که عملیات روی آن‌ها انجام می‌شود. \&\fIarticle\fR یک محدوده معتبر NNTP است، به این معنی که می‌تواند یک شماره مقاله منفرد یا محدوده‌ای از شماره مقالات باشد (مانند \&\f(CW\*(C`1\-5\*(C'\fR). می‌توان ابتدا یا انتهای محدوده (یا هر دو) را حذف کرد، که در این حالت روی اولین یا آخرین شماره مقاله در گروه تنظیم خواهند شد. بنابراین ارسال \&\f(CW\*(C`\-\*(C'\fR برای \&\fIarticle\fR معادل با عدم استفاده از گزینه \&\fB\-a\fR است. .Sp تنها در ترکیب با گزینه‌های \&\fB\-g\fR، \&\fB\-o\fR و \&\fB\-O\fR برای استخراج اطلاعات مرور کاربرد دارد. .IP \fB\-A\fR 4 .IX Item "-A" کل پایگاه داده مرور را برای یافتن مشکلات بازرسی می‌کند. در حال حاضر، فقط یک بررسی یکپارچگی انجام می‌شود: راستی‌آزمایی اینکه کران پایین (low water mark)، کران بالا (high water mark) و تعداد مقالات هر گروه خبری با واقعیت مقالات موجود در داده‌های کلی مطابقت داشته باشد. هیچ تغییری در پایگاه داده ایجاد نخواهد شد، اما مشکلات در خروجی خطای استاندارد گزارش داده می‌شوند. .IP \fB\-F\fR 4 .IX Item "-F" کل پایگاه داده مرور را برای یافتن مشکلات بازرسی کرده و در صورت امکان هم‌زمان با شناسایی، آن‌ها را برطرف می‌کند. این گزینه همان بررسی‌های گزینه \&\fB\-A\fR را اجرا کرده و مشکلات یافت‌شده را اصلاح می‌نماید. استفاده از این گزینه متوقف کردن و از سرگیری INN را مدیریت می‌کند تا داده‌های مرور در حین عملیات توسط پردازش دیگری تغییر نکنند. .Sp برای مشاهده مواردی که با \&\fB\-F\fR تغییر خواهند کرد، ابتدا \&\fBovsqlite-util\fR را با \&\fB\-A\fR اجرا کنید. .IP \fB\-g\fR 4 .IX Item "-g" اطلاعات کلی مرور را برای یک گروه خاص استخراج می‌کند. فیلدها به ترتیب عبارتند از: شماره مقاله، طول داده‌های مرور، زمان (به ثانیه از مبدأ epoch) ورود مقاله به سرور، زمان (به ثانیه از مبدأ epoch) انقضای مقاله بر اساس فیلد سرآیند Expires (یا 0 در صورت نبود فیلد سرآیند Expires)، و شناسه Storage API مقاله. .Sp در صورت مشخص کردن این گزینه، گزینه \&\fB\-n\fR نیز باید برای تعیین گروه خبری مورد نظر ارائه شود. .IP \fB\-i\fR 4 .IX Item "-i" اطلاعات مرور مرتبط با گروه خبری را از پایگاه داده استخراج می‌کند. این بخش شامل اطلاعاتی مشابه پرونده \&\fIactive\fR سرور، مانند کران‌های بالا و پایین و وضعیت نظارت (moderation) است و همان اطلاعاتی است که \&\fBnnrpd\fR به کلاینت‌ها تحویل می‌دهد. .Sp فیلدها به ترتیب عبارتند از: نام گروه خبری، کران بالا، کران پایین، تعداد مقالات گروه، وضعیت گروه، زمان (به ثانیه از مبدأ epoch) آخرین اجرای انقضا برای آن گروه خبری (یا 0 اگر \&\fBexpireover\fR هنوز روی آن اجرا نشده باشد)، و وضعیت حذف آن گروه خبری (0 اگر برای حذف در طول انقضای بعدی علامت‌گذاری نشده باشد، و در غیر این صورت یک مقدار مثبت). .Sp یک گروه خبری خاص را می‌توان با گزینه \&\fB\-n\fR مشخص کرد. اگر \&\fB\-n\fR داده نشود، کل نمایه اصلی استخراج خواهد شد. .IP "\fB\-n\fR \fInewsgroup\fR" 4 .IX Item "-n newsgroup" گروه خبری مورد نظر را برای اقدام مشخص می‌کند؛ برای گزینه‌های \&\fB\-g\fR، \&\fB\-o\fR و \&\fB\-O\fR الزامی و برای گزینه \&\fB\-i\fR اختیاری است. .IP \fB\-o\fR 4 .IX Item "-o" اطلاعات مرور یک گروه خبری را در همان قالبی که به کلاینت‌ها بازگردانده می‌شود، اما با یک تغییر، استخراج می‌کند. به انتهای هر ورودی چهار بخش داده اضافی پیوست می‌شود: شماره مقاله بر اساس اطلاعات مرور با برچسب \&\f(CW\*(C`Article:\*(C'\fR، شناسه Storage API برای آن مقاله با برچسب \&\f(CW\*(C`Token:\*(C'\fR، تاریخ ورود آن مقاله به سرور در قالب تاریخ RFC\ 5322 با برچسب \&\f(CW\*(C`Arrived:\*(C'\fR، و تاریخ انقضای آن مقاله (از فیلد سرآیند Expires) در قالب تاریخ RFC\ 5322 در صورت وجود، با برچسب \&\f(CW\*(C`Expires:\*(C'\fR. .Sp در صورت مشخص کردن این گزینه، گزینه \&\fB\-n\fR نیز باید برای تعیین گروه خبری مورد نظر ارائه شود. به طور پیش‌فرض، تمام اطلاعات مرور آن گروه خبری استخراج می‌شود، اما می‌توان از گزینه \&\fB\-a\fR برای محدود کردن استخراج به اطلاعات یک مقاله واحد یا محدوده‌ای از شماره مقالات استفاده کرد. .IP \fB\-O\fR 4 .IX Item "-O" اطلاعات مرور را برای یک گروه خبری در قالبی که توسط \&\fBoverchan\fR به عنوان ورودی استفاده می‌شود، استخراج می‌کند. هر خط با شناسه Storage API، برچسب زمانی ورود به ثانیه از مبدأ epoch، برچسب زمانی انقضا در همان قالب (یا 0 در صورت نبود فیلد سرآیند Expires)، و سپس داده‌های مرور شروع می‌شود. .Sp در صورت مشخص کردن این گزینه، گزینه \&\fB\-n\fR نیز باید برای تعیین گروه خبری مورد نظر ارائه شود. به طور پیش‌فرض، تمام اطلاعات مرور آن گروه خبری استخراج می‌شود، اما می‌توان از گزینه \&\fB\-a\fR برای محدود کردن استخراج به اطلاعات یک مقاله واحد یا محدوده‌ای از شماره مقالات استفاده کرد. .IP "\fB\-p\fR \fIpath\fR" 4 .IX Item "-p path" روی پایگاه داده مروری که ریشه آن در \&\fIpath\fR قرار دارد عمل می‌کند و مسیر مرور مشخص‌شده در پارامتر \&\fIpathoverview\fR در \&\fIinn.conf\fR را لغو می‌نماید. .SH "مثال‌ها (EXAMPLES)" .IX Header "EXAMPLES" استخراج اطلاعات مرور مرتبط با گروه خبری برای پایگاه داده مرور در \&\fI/news/overview\fR، بدون در نظر گرفتن مسیر مرور مشخص‌شده در \&\fIinn.conf\fR: .PP .Vb 1 \& ovsqlite\-util \-i \-p /news/overview .Ve .PP استخراج اطلاعات کلی مرور برای example.test: .PP .Vb 1 \& ovsqlite\-util \-g \-n example.test .Ve .PP استخراج اطلاعات کامل مرور برای example.test: .PP .Vb 1 \& ovsqlite\-util \-o \-n example.test .Ve .PP استخراج اطلاعات مرور برای مقالات ۴۵ به بالا در example.test: .PP .Vb 1 \& ovsqlite\-util \-o \-n example.test \-a 45\- .Ve .PP بازرسی کل پایگاه داده مرور برای یافتن هرگونه مشکل: .PP .Vb 1 \& ovsqlite\-util \-A .Ve .SH "تاریخچه (HISTORY)" .IX Header "HISTORY" نوشته‌شده توسط Julien ÉLIE برای InterNetNews. .SH "همچنین ببینید (SEE ALSO)" .IX Header "SEE ALSO" expireover(8), inndf(8), makehistory(8), nnrpd(8), ovsqlite(5).