این دستور dbutil است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.
برنامه:
نام
dbutil - ابزار پایگاه داده
خلاصه
dbutil {-d | --زباله} dbfile
dbutil {-q | --query} [-t] dbfile کلید
dbutil {-u | --به روز رسانی} [-n] dbfile کلید [ارزش]
dbutil {-x | --حذف} dbfile کلید
dbutil -t [تاریخ | [+|-]فاصله]
شرح
برنامه dbutil یک پایگاه داده از جفت های کلید-مقدار نگهداری می کند که می توان آنها را پرس و جو کرد و به روز کرد
از خط فرمان برای هر جفت از این قبیل در پایگاه داده، یک انقضا نیز نگه می دارد
زمان، به طوری که ورودی های استفاده نشده را می توان از پایگاه داده پاک کرد. dbutil باید به آن داده شود
گزینه ای که مشخص می کند برنامه در چه حالتی اجرا شود. حالت های زیر در دسترس هستند:
--زباله (-d)
محتویات پایگاه داده را چاپ می کند. هر ورودی پایگاه داده در یکی از صفحات چاپ می شود
بسته به اینکه رکورد دارای زمان انقضا باشد، دو فرمت زیر را دنبال کنید:
کلید ارزش
کلید ارزش (زمان انقضا)
--پرس و جو (-q)
مقدار یک کلید خاص را در پایگاه داده چاپ می کند. اگر -t پرچم نیز است
مشخص شده، زمان انقضای رکورد را چاپ می کند. علاوه بر این -- منقضی شود پرچم
را می توان برای به روز رسانی زمان انقضا در رکورد مشخص کرد. اگر کلید بود از 0 خارج می شود
یافت شد، 1 اگر کلید در پایگاه داده نبود، یا 2 اگر خطای سیستم وجود داشت.
--به روز رسانی (-u)
مقدار یک کلید در پایگاه داده را روی یک مقدار خاص تنظیم می کند. اگر هیچ ارزشی وجود ندارد
ارائه شده، مقدار را به رشته خالی (که با حذف کردن یکسان نیست) تنظیم می کند
رکورد). در -- منقضی شود پرچم را نیز می توان برای تنظیم زمان انقضا بر روی آن مشخص کرد
رکورد.
به طور معمول، این گزینه هر مقدار قبلی را در پایگاه داده بازنویسی می کند. اگر -n
گزینه ارائه شده است، dbutil یک مقدار ذخیره شده قبلی در را بازنویسی نمی کند
پایگاه داده (و زمان انقضا را در رکورد به روز نمی کند). در صورت کلید از 0 خارج می شود
پیدا شد، 1 اگر -n مشخص شده بود و کلید قبلاً در پایگاه داده بود یا 2 if
یک خطای سیستم وجود دارد
-- منقضی شود={تاریخ | [+|-]فاصله}
این گزینه را می توان در ارتباط با --به روز رسانی or --پرس و جو تنظیم کردن
زمان انقضا در ثبت این گزینه دو فرمت دارد. شما می توانید یک را مشخص کنید
زمان مطلق، به عنوان تعداد ثانیه از 1 ژانویه 1970 به وقت گرینویچ، یا می توانید یک
از زمان فعلی با فرمت:
[+|-]واحدهای
جایی که + یعنی در آینده، - یعنی در گذشته، تعداد دفعات مشاهده یک عدد است و واحد یکی هست
از شخصیت های زیر:
s - ثانیه
m - دقایق
h - ساعت ها
D - روزها
W - هفته ها
M - ماه ها
Y - سال ها
مثلا --expire=+36D یعنی رکورد در 36 روز حذف خواهد شد. اگر همیشه
جستجو کلید با دستور:
dbutil --پرس و جو --expire=+36D کلید
پس از آن کلید فقط در صورتی منقضی می شود که ظرف 36 روز آن را جستجو نکنید.
توجه داشته باشید که dbutil لیست مرتب شده ای از رکوردها را بر اساس زمان آخرین دسترسی نگه می دارد. بدین ترتیب،
پاکسازی رکوردهای قدیمی یک عملیات ذاتاً پرهزینه نیست و اتفاق می افتد
هر زمان که پایگاه داده را تغییر دهید به طور خودکار.
--nosync (-N)
معمولاً، dbutil به طور همزمان فایل پایگاه داده را پس از ساختن هر یک از آنها به دیسک منتقل می کند
تغییرات، برای به حداقل رساندن پنجره آسیب پذیری که در آن یک تصادف می تواند خراب کند
پایگاه داده (اگر --dbhome گزینه ارائه نشده است). شستشوی همزمان
با این حال، فایل پایگاه داده کند است. این گزینه آن رفتار را سرکوب می کند و می توان از آن استفاده کرد
برای ساخت جداول جستجوی کارآمد. برای مثال، ممکن است یک اسکریپت داشته باشید که میسازد
یک فایل x.db با صدور دستورات زیر:
#!/ بن / شل -e
rm -f x.db~
dbutil -Nu x.db~ key1 val1
dbutil -Nu x.db~ key2 val2
#...
dbutil -Nu x.db~ keyn valn
dbutil -u @ @
mv -f x.db~ x.db
--حذف (-x)
یک کلید خاص را از پایگاه داده حذف می کند (اگر پایگاه داده حاوی کلید باشد). خارج می شود
0 اگر کلید پیدا شد، 1 اگر کلید در پایگاه داده نبود یا 2 اگر a وجود داشت
خطای سیستم.
-t [تاریخ|فاصله]
بدون هیچ گزینه ای، تعداد ثانیه ها را از 1 ژانویه 1970، GMT چاپ می کند. با یک
آرگومانی که همان قالب را دارد -- منقضی شود، زمان انقضا را به صورت یک چاپ می کند
تعداد مطلق ثانیه از سال 1970. در واقع یک تابع پایگاه داده نیست، اما مرغ مفید است
می خواهید یک مهر زمانی در پایگاه داده ذخیره کنید.
توجه داشته باشید که -t را نیز می توان با --پرس و جو گزینه ای که در این صورت باعث می شود
dbutil برای چاپ زمان انقضای کلید، به جای مقدار آن.
dbutil تلاش میکند تا آسیبهای ناشی از یک خرابی نامناسب را با شستشوی پایگاه داده به حداقل برساند
فایل به دیسک هر زمان که آن را تغییر دهید. با این حال، هنوز یک پنجره کوچک وجود دارد که در آن
پایگاه داده شما می تواند به طور غیر قابل برگشتی خراب شود. اگر فقط از آن استفاده می کنید، ممکن است مشکلی ایجاد شود
پایگاه داده برای ذخیره "نرم حالت".
اگر می خواهید پایگاه داده تحت هر شرایطی قابل بازیابی باشد، باید از نوشتن استفاده کنید.
Ahead logging، در این صورت dbutil باید یک دایرکتوری با گزارش های پایگاه داده نگه دارد، نه فقط
یک فایل پایگاه داده واحد گزینه زیر محل نگهداری فایل های گزارش را مشخص می کند. آی تی
باید همراه با گزینه های دیگر برای هر حالت به جز -t:
--dbhome=dbhome
مشخص می کند که فایل های گزارش پایگاه داده باید در دایرکتوری نگهداری شوند dbhome (کدام خواهد بود
ایجاد شده است اگر قبلا وجود نداشته باشد). توجه داشته باشید که فایل های پایگاه داده با نسبی
نام مسیر نیز در این دایرکتوری ذخیره خواهد شد. به شدت توصیه می شود که
از نام مسیرهای نسبی استفاده کنید تا فایل های پایگاه داده و فایل های لاگ را با هم ذخیره کنید.
در غیر این صورت، شما در معرض خطر دسترسی به یک پایگاه داده ثبت شده بدون آن هستید --dbhome انتخاب
و سطل زباله محتویات آن
محیط زیست
DB_HOME
هنگامی که تنظیم می شود، فهرستی را مشخص می کند که در آن فایل های گزارش نگهداری شود تا پایگاه داده ایجاد شود
تصادف قابل بازیابی این معادل مشخص کردن گزینه است --dbhome=$DB_HOME
(به جز هر واقعی --dbhome آرگومان متغیر محیطی را نادیده می گیرد).
با استفاده از خدمات onworks.net از dbutil به صورت آنلاین استفاده کنید