উত্তর:
আপনি যদি ট্রিট সিস্লোগ লগইন করছেন, যখনই কোনও মানদণ্ডের সাথে মিলিত কোনও বার্তা লগ হয়ে যায় মেটালগের একটি কমান্ড কার্যকর করার পক্ষে সমর্থন রয়েছে। অন্যথায়, আপনি tailf
লগ ফাইলে নতুন লাইনের জন্য দেখতে ব্যবহার করতে পারেন ।
sendxmpp একটি ছোট Perl স্ক্রিপ্ট (যেমন আপনার প্রিয় বিতরণের জন্য সম্ভবত ইতিমধ্যে একটি প্যাকেজ হিসাবে উপলব্ধ) XMPP বার্তা পাঠাতে হয়
আপনি খুব বেশি অসুবিধা ছাড়াই শেল স্ক্রিপ্টের সাহায্যে এই দু'জনকে সেলাই করতে পারেন। ধাতব ক্ষেত্রে, এর মতো একটি স্ক্রিপ্ট তৈরি করুন:
#!/bin/sh
echo $* |sendxmpp your-xmpp-id@gmail.com
এবং command = /path/to/script.sh
metolog.conf সম্পর্কিত বিভাগে যুক্ত করুন
লেজ ক্ষেত্রে, আপনি এই জাতীয় কিছু চেষ্টা করতে পারেন, অবিচ্ছিন্ন উপায়ে চালান:
tailf /var/log/file-to-watch.log |(while true; do read M; echo $M | sendxmpp recipient@gmail.com; done)
সেন্ডএক্সএমপিকে একটি বৈধ এক্সএমপিপি অ্যাকাউন্ট প্রয়োজন, অ্যাকাউন্টটি কীভাবে ব্যবহার করতে হবে তা কনফিগার করতে ম্যান পৃষ্ঠাটি দেখুন।
(আমার অভিজ্ঞতা থেকে, এক্সএমপিপি-বিতরণ ত্রুটি বার্তাগুলি যদি খুব ঘন ঘন হয়ে থাকে তবে তারা বেশ বিরক্তিকর হয়ে থাকে ...)
grep
আপনাকে সম্ভবত --line-buffered
প্রসারণ যোগ করতে হবে)) বার্তা কেন স্পষ্টভাবে প্রকাশিত হয়েছে বা মোটেও না কেন তা জানার জন্য আমি খুব ভাল সময় ব্যয় করেছি।
আমি সেই অল্প অজগর লিপি তৈরি করেছি। আপনি এটি একটি সূচনা পয়েন্ট হিসাবে ব্যবহার করতে পারেন
import xmpp, os, time
login = 'Your.Login' # @gmail.com
pwd = 'YourPassword'
recipient = 'YourFriend@gmail.com'
logfile = "/home/myself/test.log"
def sendmsg(text):
global login, pwd, recipient
cnx = xmpp.Client('gmail.com')
cnx.connect( server=('talk.google.com',5223) )
cnx.auth(login,pwd, 'botty')
cnx.send( xmpp.Message( recipient , text ) )
oldsize = newsize = os.path.getsize(logfile)
while True:
newsize = os.path.getsize(logfile)
if newsize != oldsize:
f = open(logfile)
f.seek(oldsize, os.SEEK_SET)
s = f.read()
if s[-1] == '\n':
sendmsg(s)
oldsize = f.tell()
f.close()
time.sleep(10)
আমি গুগল টকের সাথে এক্সএমপিপি সংযোগের জন্য সেই পৃষ্ঠাতে তথ্য ব্যবহার করেছি ।