پرو ہوسٹر > بلاگ > انتظامیہ > Inotify اور webdav کا استعمال کرتے ہوئے سادہ rpm ذخیرہ
Inotify اور webdav کا استعمال کرتے ہوئے سادہ rpm ذخیرہ
اس پوسٹ میں، ہم ایک سادہ inotify + createrepo اسکرپٹ کا استعمال کرتے ہوئے ایک rpm آرٹفیکٹ ریپوزٹری کو دیکھیں گے۔ نمونے اپاچی httpd کا استعمال کرتے ہوئے webdav کے ذریعے اپ لوڈ کیے جاتے ہیں۔ اپاچی httpd پوسٹ کے آخر میں کیوں لکھا جائے گا۔
لہذا، حل کو صرف RPM اسٹوریج کو منظم کرنے کے لیے درج ذیل تقاضوں کو پورا کرنا چاہیے:
مفت
آرٹفیکٹ ریپوزٹری میں اپ لوڈ کرنے کے چند سیکنڈ بعد ریپوزٹری میں پیکیج کی دستیابی۔
پلپ ایسا لگتا ہے کہ میرے لئے ایک زیادہ انجینئرڈ حل ہے۔
میں نمونے سونا ٹائپ گٹھ جوڑ بلاب میں محفوظ. اچانک بجلی بند ہونے کی صورت میں، اگر آپ کے پاس بیک اپ نہیں ہے تو آپ بلاب کو بحال نہیں کر پائیں گے۔ ہمارے پاس یہ خرابی تھی: ERROR [ForkJoinPool.commonPool-worker-2] *SYSTEM [com.orientechnologies.orient.core.storage](http://com.orientechnologies.orient.core.storage/).fs.OFileClassic - $ANSI{green {db=security}} Error during data read for file 'privilege_5.pcl' 1-th attempt [java.io](http://java.io/).IOException: Bad address. بلاب کبھی بازیاب نہیں ہوا تھا۔
بذریعہ ڈیفالٹ inotify-createrepo ڈائریکٹری کی نگرانی کرتا ہے۔ /var/www/repos/rpm-repo/.
آپ اس ڈائریکٹری کو فائل میں تبدیل کر سکتے ہیں۔ /etc/inotify-createrepo.conf.
استعمال کریں
کسی بھی فائل کو ڈائریکٹری میں شامل کرتے وقت /var/www/repos/rpm-repo/ inotifywait ایک فائل بنائے گا۔ /tmp/need_create. run_createrepo فنکشن لامحدود لوپ میں چلتا ہے اور فائل کی نگرانی کرتا ہے۔ /tmp/need_create. اگر فائل موجود ہے، تو چلائیں createrepo --update.
موجودہ حل سے زیادہ دستیابی کے لیے، میرے خیال میں آپ 2 سرورز استعمال کر سکتے ہیں، HA کے لیے Keepalived اور artifact synchronization کے لیے Lsyncd۔ Lsyncd - ایک ڈیمون جو مقامی ڈائرکٹری میں ہونے والی تبدیلیوں پر نظر رکھتا ہے، ان کو جمع کرتا ہے، اور ایک خاص وقت کے بعد، rsync ان کو ہم آہنگ کرنا شروع کر دیتا ہے۔ تفصیلات اور ترتیبات پوسٹ میں بیان کی گئی ہیں "ایک ارب فائلوں کی تیز رفتار مطابقت پذیری۔".
ویب ڈیو
فائلیں اپ لوڈ کرنے کے کئی طریقے ہیں: SSH، NFS، WebDav۔ WebDav ایک جدید اور آسان آپشن لگتا ہے۔
WebDav کے لیے، ہم اپاچی httpd استعمال کریں گے۔ 2020 میں اپاچی httpd کیوں اور nginx نہیں؟
میں Nginx + ماڈیولز (مثال کے طور پر Webdav) بنانے کے لیے خودکار ٹولز استعمال کرنا چاہوں گا۔
میرے خیال میں آپ اپاچی httpd کنفیگریشن کا بقیہ کام خود کریں گے۔
اپاچی httpd کے سامنے Nginx
اپاچی کے برعکس، Nginx ایک ایونٹ پر مبنی درخواست پراسیسنگ ماڈل استعمال کرتا ہے، جس کا مطلب ہے کہ کسی بھی تعداد میں کلائنٹس کے لیے صرف ایک HTTP سرور عمل درکار ہے۔ آپ nginx استعمال کر سکتے ہیں اور سرور کا بوجھ کم کر سکتے ہیں۔
nginx-front.conf تشکیل۔ مجھے لگتا ہے کہ آپ باقی nginx کنفیگریشن خود کریں گے۔