আশা করি এটি কিছুটা সাহায্য করবে।
তাই আমি আপনাকে লিখেছি এমন একটি অনুষ্ঠান দিতে যাচ্ছি, কারণ ক্রোন কাজের ক্ষেত্রে আমার সমস্যা ছিল। দুর্ভাগ্যক্রমে শেল স্ক্রিপ্টিং আমি জানি না তাই এটি অজগরটিতে রয়েছে, তবে এটি আমার পক্ষে কাজ করেছে, এবং এটি বেশ সহজ, তবে দুর্দান্ত। দুঃখিত আমি আমার কোড মন্তব্য করি নি, কিন্তু আমি সত্যিই এটির মাধ্যমে ফিরে যেতে চাইনি। আমি জানি কিছু অংশগুলি সেরা নাও হতে পারে তবে এটি কার্যকর হয়।
def main():
while True:
import time
import os
from subprocess import call
schedule=tim3()
print(schedule)
interface=" "
while interface==" ":
interface=input("""
Enter your interface:
(Be careful there is no error checking for this part)
Examples are eth0, wlan0...
""")
if interface == "":
break
while True:
x= clogger(schedule[2],schedule[3],schedule[4],\
schedule[5],interface)
if x== "done":
break
while True:
x= exit_q()
if x== "y":
user_exit=input('''
How would you like your output?
Type (From vnstat --longhelp):
q, --query query database
h, --hours show hours
d, --days show days
m, --months show months
w, --weeks show weeks
t, --top10 show top10
s, --short use short output
''')
call(["vnstat", "-"+str(user_exit), "-i", str(interface),])
break
break
def tim3():
import time
#current_time=["16", "20"]
tim3= time.strftime("%H %M")
current_time=tim3.split()
print("""
"""+ str(tim3)+"""
Current time
""")
hour=current_time[0]
minute=current_time[1]
ui = inputs()
newlist=[hour, minute]
schedule=newlist+ui
print(schedule)
return schedule
def inputs():
print("""
------------------------------------------
""")
while True:
start_hour=(input("Enter the starting hour (24hr): "))
start_min=(input("Enter the starting minute: "))
x = checker(start_hour, start_min)
endh=(input("How many hours would you like to run? "))
endm=(input("How many minutes would you like to run? "))
y = checker(endh,endm)
if str(x)=="Great":
if str(y) == "Great":
return [start_hour, start_min, endh, endm]
def checker(h,m):
error=0
message=("Incorrect Format")
while error==0:
if h =="":
print(message)
break
if len(str(h))> 2:
print(message)
break
if m =="":
print(message)
break
if len(str(m))>2:
print(message)
break
for x in str(h):
if x.isdigit() == False:
error+=1
print(message)
break
if error>0:
print(message)
break
for y in str(m):
if y.isdigit() == False:
error+=1
print(message)
break
if error>0:
print(message)
break
else:
return("Great")
def clogger(s1,s2,t1,t2,I):
import time
import os
from subprocess import call
total_time=int(t1)*60*60+int(t2)*60
while True:
h1=int(time.strftime('%H'))
m2=int(time.strftime('%M'))
if len(str(s1))<2:
s1="0"+str(s1)
if len(str(s2))<2:
s2="0"+str(s2)
if len(str(h1))<2:
h1="0"+str(h1)
if str(h1)==str(s1) and str(m2)==str(s2):
while True:
if total_time>0:
call (["vnstat", "-i",str(I)])
time.sleep(15)
total_time=total_time-15
print(total_time," seconds")
elif total_time<=0:
return "done"
time.sleep(15)
def exit_q():
while True:
question=input("Would you like to show a report? (y/n) ")
if question == "y" or question == "n":
return question
main()
দ্রুত গাইড
অলস খুলুন, অনুলিপি করুন> পেস্ট করুন।
হিসাবে সংরক্ষণ করুন filename.py
।
ওপেন টার্মিনাল।
পাইথন 3 (পাইথন 3 ফাইলের নাম.পি`) দিয়ে এটি চালান।
আপনি vnstat চালানোর জন্য সময় নির্ধারণ করতে চান এমন সময় দিন।
আপনি যে মুহুর্তটি চান সেই মুহুর্তে রাখুন।
আপনি যে পরিমাণ ঘন্টা এটি পর্যবেক্ষণ করতে চান তা রাখুন।
আপনি যে পরিমাণ মিনিট এটি পর্যবেক্ষণ করতে চান তা রাখুন।
আপনি যে ডিভাইসটি পর্যবেক্ষণ করছেন সেগুলি প্রবেশ করুন (আমি ত্রুটিটি পরীক্ষা করে দেখিনি, তাই আপনি যদি বানরবাট্টের মতো কোনও কিছু প্রবেশ করেন তবে এটি চেষ্টা করবে এবং vnstat -i monkeybutt
প্রতি 15 সেকেন্ডে চলে যাবে, মাত্র Ctrl+ Cআউট)।
প্রোগ্রামটি প্রতি 15 সেকেন্ডের মধ্যে দিয়ে সময়টি মেলে কিনা তা কোনও বার্তা দেয় না তা দেখতে চলে। এটি পটভূমিতে চালানো বোঝানো হয়েছে। একবার এটি শুরু হয়ে গেলে, আপনার চয়ন করা ডিভাইসে এটি নেটওয়ার্কের প্রতি 15 সেকেন্ডে শট নেবে। Vnstat কমান্ড ব্যবহার করে, একটি পাল্টা বলছে যে আপনি কত সেকেন্ডের নজরদারি রেখে গেছেন।
স্ক্যানগুলি শেষ করার পরে এটি জিজ্ঞাসা করবে আপনি প্রস্থান করতে চান কিনা এবং আপনি কোনও প্রতিবেদন দেখাতে চাইলে আপনাকে একটি বিকল্প দেবেন, অন্যথায় আপনি কেবল প্রস্থান করতে পারেন। সমস্ত স্টাফ যাইহোক vnstats ডাটাবেসে সংরক্ষণ করা হয়।
পোস্টের পুরানো অংশ (কিছু লোকের পক্ষে সহায়ক হতে পারে)
আপনি জিনোম-সময়সূচি পেতে পারেন, তারপরে আপনার কমান্ডের মধ্যে উদাহরণস্বরূপ vnstat -h রাখতে পারেন এবং আপনি যা যা পর্যবেক্ষণ করার চেষ্টা করছেন সেই সময়টিকে পুনরায় সেট করে। সম্ভবত খুব সহজ, তবে আশা করি অন্য কেউ আরও প্রসারিত করতে পারে।
অতিরিক্ত (সম্পাদনা): আমি vnstat খুব বেশি ব্যবহার করি নি, এজন্যই আমি আশা করছিলাম যে এই অংশে কেউ প্রসারিত হতে পারে তবে জিনোম-শিডিয়ুলের সাহায্যে আপনি দিনের নির্দিষ্ট অংশগুলির সময় কার্যকর করার জন্য একটি আদেশ নির্ধারণ করতে পারেন। সুতরাং ভেন্টস্যাট-টিআর-এল (ট্র্যাফিক স্যুইচ, লাইভ ট্র্যাফিক নিরীক্ষণ) ব্যবহার করে ট্র্যাফিক চলমান অবস্থায় দেখানো হত (যা আপনি জিনোম-শিডিয়ুলের মধ্যে নির্ধারণ করতে পারেন, তবে আপনাকে ম্যানুয়ালি Ctrl+ Cআউট করতে হবে ))
অন্যথায় আমি নিশ্চিত যে আপনি এটি একটি ফাইলের মধ্যে পাইপ করতে পারেন, বা যদি আপনার কাছে থাকে তবে vnstat এর জন্য গ্রাফিকাল আউটপুট প্রোগ্রামটি ব্যবহার করতে পারেন। গ্রাফিকাল আউটপুট প্রোগ্রাম vnstati -i 'filename'
এটি পিএনজি ফাইল আউটপুট হবে। আপনি যদি আরও কমান্ড চান তবে vnstat --longhel
পি-তে আরও কমান্ড রয়েছে।
(কীভাবে জিনিসগুলি জিনোম-শিডিউলে রাখা যায় তার নমুনার পর্দা))
আপনি কি জানেন কীভাবে ইতিমধ্যে vnstat ব্যবহার করে ব্যান্ডউইথের একটি 'স্ন্যাপশট' পাবেন, বা আপনাকে এই আদেশগুলি সম্পর্কে আরও সহায়তা দরকার? আমি প্রোগ্রামের সাথে আরও কাজ করার চেষ্টা করতে পারি।