উত্তর:
পদ্ধতি 1
যদিও নেটওয়ার্কটি ম্যানেজার.কনফ লগিংয়ের অনুমতি দেয়, তবুও এটি স্পষ্টতই সিসলগে পড়ে। যাইহোক, kern.log এছাড়াও এটি আছে।
grep 'associated' /var/log/kern.log | tail -n1
Jun 21 17:08:25 anaconda kernel: [ 4910.819781] wlan1: associated
পদ্ধতি 2
আমি খুঁজে পেয়েছি যে নেটওয়ার্কম্যানেজার সর্বশেষ সংযোগের সময় সঞ্চয় করে এবং এটি /var/lib/NetworkManager/timestamps
ইউনিক্স যুগের সময় বিন্যাসে (1970 সাল থেকে সেকেন্ড) ফাইলে সাজানো হয় । আমার উদাহরণস্বরূপ এই মত দেখাচ্ছে:
$ cat /var/lib/NetworkManager/timestamps
[timestamps]
c562ac2d-8911-4273-b165-ed1495b28c9a=1432777079
46cfcdd9-d095-418f-acd6-0a7ca282bb9a=0
d81fb3d0-1717-42c0-903d-4622c2381597=1434895707
b0bdefe6-df88-49bb-83d8-154dd21d77d9=1433093286
সর্বশেষ এন্ট্রি প্রদর্শন করতে
date --date=@"$( awk -F'=' 'BEGIN {var=0}{if(var<$2) var=$2;} END{print var}' /var/lib/NetworkManager/timestamps )"
আওক বৃহত্তম যুগের সময় অনুসন্ধান করবে (অন্য কথায় সর্বশেষ কথায়) এবং তারিখ এটিকে মানব পাঠযোগ্য রূপে রূপান্তরিত করবে।
আমার সন্দেহ হয় যে এই ফাইলটি ( /var/lib/NetworkManager/timestamps
) সংযোগের শেষ সময় প্রদর্শনের জন্য সম্পাদনা সংযোগগুলি গ্রাফিক্যাল মেনু দ্বারা ব্যবহৃত হয়
সমস্যাটি হ'ল আপনি যদি এখনও কোনও অ্যাক্সেস পয়েন্টের সাথে সংযুক্ত থাকেন তবে জিইউআই উপায় now
কখনই সংযোগটি প্রতিষ্ঠিত হওয়ার সময় তা প্রদর্শন করে না keeps
man NetworkManager.conf
, ফাইলটি হয় /etc/NetworkManager/NetworkManager.conf
; এটি ডিমনটিতে লগিং সক্ষম করার পরেই কাজ করবে, তবে দুর্ভাগ্যক্রমে আমার এটি পরীক্ষা করে নেওয়া দরকার যে ধরে নেওয়া যায় যে মেশিনটি এর জন্য কনফিগার করা হয়নি। যাইহোক kern.log
সমাধানের জন্য এবং প্রথম সমাধানের জন্য +1 যা অন্যান্য ক্ষেত্রে সহায়ক হতে পারে
আপনি ফাইলটি চেক করতে পারেন /var/log/syslog
এটি সর্বশেষে যখন আপনি কোনও নেটওয়ার্কের সাথে সংযুক্ত ছিলেন তখন এটি প্রদর্শিত হবে।
উদাহরণ
Jun 21 08:00:00 Ubuntu dhclient: DHCPREQUEST of 192.0.0.0 on wlan0 to 192.0.0.0 port 67 (xid=0xec7c6e7)
লগ থেকে আপনার যা প্রয়োজন তা টানতে আপনি গ্রেপ কমান্ড চালাতে পারেন
< /var/log/syslog grep DHCPREQUEST
< /var/apt/syslog grep DHCPREQUEST
বৈচিত্রের প্রস্তাব দিতে চাই।
DHCPREQUEST
নির্ভরযোগ্য নয়। আমি বিকেল থেকেই অনলাইনে আছি এবং যেহেতু আমার কাছে প্রচুর ডিএইচসিপি অনুরোধ ছিল।
পরীক্ষা করে দেখুন CONNECTED_GLOBAL
পর আমরা খুঁজে পেয়েছি link connected
মধ্যে/var/log/syslog
/link connected/,/CONNECTED_GLOBAL/
% awk '/link connected/,/CONNECTED_GLOBAL/ {line=$0} END{print line}' /var/log/syslog
Jun 21 11:12:54 sturm NetworkManager[736]: <info> NetworkManager state is now CONNECTED_GLOBAL Jun 21 11:12:54
% awk '/link connected/,/CONNECTED_GLOBAL/ {month=$1;day=$2;time=$3} END{print month,day,time}' /var/log/syslog
Jun 21 11:12:54
sudo
প্রথমটির কোনও প্রয়োজন নেই , তবে এর মধ্যে কোনওটিই কাজ করছে না, আমি মনে করি এটি পসিক্সলির কারণে [[:space:]]
। আপনি কোন সংস্করণ awk
চালাচ্ছেন?
sudo
সরানো হয়েছে। জিএনইউ আওক 4.1.1, এপিআই: 1.1 (জিএনইউ এমপিএফআর 3.1.2-পি 11, জিএনইউ এমপি 6.0.0)
%
;) নীচের লাইনে যদি আউটপুট থাকে
%
। এই সব কিন্তু নিখুঁত!
যদি আপনি এটি করতে "সঠিক" উপায়টি না খুঁজে পান তবে আপনি সর্বদা নিজের তৈরি করতে পারেন!
আপনি যদি অনলাইনে (ইন্টারনেটে) থাকেন বা না থাকেন তবে নীচের ব্যাশ ফাংশনটি আপনাকে জানাবে।
আপনাকে কেবল একটি স্ক্রিপ্ট লিখতে হবে যা এটিকে ডাকবে (একটি লুপে এবং তারপরে ঘুমায়) এবং একটি ফাইলের কাছে শেষ তারিখ এবং সময় রেকর্ড করবে (ওভাররাইটিং, সুতরাং এটির ঠিক সর্বশেষতম মান রয়েছে)।
আপনাকে লুপটিতে কোড যুক্ত করতে হবে যাতে এটি প্রাথমিকভাবে ডাকা হয় এবং লগ হয় তার সাথে সাথে এটি পরীক্ষা করে (যাতে আপনার প্রাথমিক অবস্থাটি সঠিকভাবে সেট করা থাকে)।
এর পরে, আপনি কেবল তখনই আবার লগইন করতে পারবেন যখন রাজ্যটি প্রথম অফলাইন হয় এবং যখন অফলাইনে থাকার পরে এটি প্রথম অনলাইনে আসে। কোড দেওয়ার থেকে ব্যাখ্যা করা সহজ। ;)
আপনি লুপটিতে কতক্ষণ বিলম্ব (ঘুম) ব্যবহার করেন এটি দ্বারা নির্ভুলতার মধ্যে এটি সীমাবদ্ধ থাকবে (এটি খুব টান লুপ হতে পারে যাতে এটি সিস্টেমের অনেক বেশি রিসোর্স গ্রাস করতে পারে)) এটি শুরু হওয়ার আগে যা ঘটেছিল তা সম্পর্কেও অজানা would বা যখন এটি চলছে না।
স্ক্রিপ্টটি নিজেই শুরু করা যেতে পারে (ব্যাকগ্রাউন্ড কাজ হিসাবে ( &
অনুরোধের শেষে), সম্ভবত nohup
এটির চালিয়ে যেতে পারে যদি এর প্যারেন্ট প্রসেসটি শেষ হয়ে যায়) যখন আপনার ব্যবহারকারী আপনার $ HOME /। প্রোফাইল ফাইল থেকে এটি চালিয়ে লগ ইন করে, এটি আপনার ডেস্কটপ অটোস্টার্ট ইউটিলিটি (কেডিএ বা জিনোম) দিয়ে শুরু করুন, ক্রোন জব থেকে পর্যায়ক্রমে পরীক্ষা করে দেখুন যে এটি ইতিমধ্যে চলছে না কিনা, অথবা আপনার যে কোনও স্টার্টআপ সিস্টেম রয়েছে তা থেকেও (init / systemd / ইত্যাদি।) যদি আপনি যথেষ্ট জানেন তবে যে।)
যখন আপনি এর মতো কিছু খুঁজে না পান যা আপনি যা চান ঠিক তেমন করে, আপনার নিজের স্ক্রিপ্টটি লিখতে এবং ব্যাকগ্রাউন্ডে ডেমনের মতো চালানো প্রায়শই খুব কঠিন নয়।
যদি সম্ভব হয় তবে এটি নিয়মিত ব্যবহারকারীর অ্যাকাউন্ট থেকে চালানো ভাল - আপনি যদি এটি সি বা পাইথনের মতো শক্ত ভাষায় কোড না করেন - কারণ মূল সুবিধার সাথে চালিত শেল স্ক্রিপ্টগুলি প্রায়শই সুরক্ষা ঝুঁকি তৈরি করে।
এই পদ্ধতির আরও একটি সমস্যা আছে। কখনও কখনও পিং আপনাকে মিথ্যা অফলাইন স্থিতি দেয় time
আমার কাছে একটি সম্পূর্ণ স্ক্রিপ্ট, অফলাইন_আরার্ট রয়েছে যা আপনি যা চান তার বিপরীতভাবে কাজ করে - আমি অফলাইনে যাওয়ার সময় আমাকে সতর্ক করে - তবে কোডটি কার্যকর প্রমাণিত হতে পারে। এটির একটি আরও ভাল অফলাইন ফাংশন রয়েছে যা পিংয়ের সময়সীমা থেকে মিথ্যা ধনাত্মকতা হ্রাস করার চেষ্টা করে।
function offline {
## Test if offline
## Returns 0 if online, 2 if offline
local RC
ping -c 1 google.com > /dev/null 2>&1
RC=$?
##echo "offline returning [${RC}]"
return $RC
}
যে কোনও পরিষেবা / ডেমন লগ চেক করার একটি উপায় যা ইন্টারনেটে কাজ করে। উদাহরণস্বরূপ এনটিপি (নেটওয়ার্ক টাইম প্রোটোকল) আপডেট।
দেখুন dpkg -L ntpdate
নেটওয়ার্ক স্থিতি আঙ্গুলসমূহ জন্য
ঠিক যেমন আমি উবুন্টু ডেস্কটপের জন্য এটির লগ পরীক্ষা করেছি, তার আপডেটটি যখনই নেটওয়ার্ক আপ হবে তখনই চালিত হয় এবং শেষ আপডেট ব্যর্থ হলে সংক্ষিপ্ত বিলম্বের পরে চেষ্টা চালিয়ে যায়। এটি সংযোগ করে ntp.ubuntu.com
।
(দ্রষ্টব্য, আমি আমার মন্তব্যের জন্য আউটপুটে প্রথম কলাম যুক্ত করেছি)
$ grep -r ntpdate /var/log/syslog*
1st_trial Jul 14 00:35:56 user-VirtualBox ntpdate[774]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jul 14 00:35:56 user-VirtualBox ntpdate[774]: no servers can be used, exiting
2nd_trial Jul 14 03:38:57 user-VirtualBox ntpdate[2571]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jul 14 03:38:57 user-VirtualBox ntpdate[2571]: no servers can be used, exiting
3rd_trial Jul 14 03:46:09 user-VirtualBox ntpdate[2782]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jul 14 03:46:09 user-VirtualBox ntpdate[2782]: no servers can be used, exiting
4th_trial Jul 14 03:47:48 user-VirtualBox ntpdate[2917]: step time server 91.189.89.199 offset 3.458355 sec
1st_trial Jul 14 10:23:07 user-VirtualBox ntpdate[728]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jul 14 10:23:07 user-VirtualBox ntpdate[728]: no servers can be used, exiting
2nd_trial Jul 14 10:37:22 user-VirtualBox ntpdate[2099]: step time server 91.189.89.199 offset 2.021103 sec
dis-/re-con Jul 14 15:27:09 user-VirtualBox ntpdate[20174]: step time server 91.189.89.199 offset 1.677465 sec
1st_trial Jul 14 23:55:00 user-VirtualBox ntpdate[807]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jul 14 23:55:00 user-VirtualBox ntpdate[807]: no servers can be used, exiting
2nd_trial Jul 15 00:00:24 user-VirtualBox ntpdate[2041]: step time server 91.189.94.4 offset 1.619839 sec
1st_trial Jul 15 05:39:08 user-VirtualBox ntpdate[767]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jul 15 05:39:08 user-VirtualBox ntpdate[767]: no servers can be used, exiting
2nd_trial Jul 15 05:39:21 user-VirtualBox ntpdate[1088]: step time server 91.189.94.4 offset 2.897077 sec
1st_trial Jul 15 05:49:40 user-VirtualBox ntpdate[787]: Can't find host ntp.ubuntu.com: Name or service not known (-2)
Jul 15 05:49:40 user-VirtualBox ntpdate[787]: no servers can be used, exiting
2nd_trial Jul 15 05:49:50 user-VirtualBox ntpdate[1101]: adjust time server 91.189.94.4 offset 0.090520 sec
reconnect Jul 15 05:55:50 user-VirtualBox ntpdate[2251]: adjust time server 91.189.94.4 offset 0.261432 sec
reconnect Jul 15 06:04:53 user-VirtualBox ntpdate[2702]: step time server 91.189.94.4 offset 0.525658 sec
আমি নিশ্চিত করছি যে এটি উবুন্টু 14.04 এলটিএস 64 বিট ডেস্কটপ এবং সার্ভার সংস্করণগুলির জন্য ডিফল্টরূপে ইনস্টল করা আছে।
আমি এটি ভিএম এ চেষ্টা করেছিলাম, এটি সংযোগ স্থাপন বা পুনরায় সংযোগ করার সময় (ইন্টারনেট উপলব্ধ সাথে) কেবলমাত্র সময় দেখায়। আপনি যা চান তা নয় (শেষ বার সংযুক্ত ছিল)
দ্রষ্টব্য, সিসলগ হল একটি ঘোরানো লগ, আপনি যদি সমস্ত লগ এমনকি পুরানো সংকোচিত অনুসন্ধান করতে চান তবে ব্যবহার করুন zgrep
zgrep -ih ntpdate /var/log/syslog* | sort -bn -k2
ntpdate
ডিফল্টরূপে ইনস্টল করা হয়েছে তবে ntpd
/ openntpd
ডিমন / পরিষেবা নয় যা পৃথক প্যাকেজগুলিতে আসে। আপনার সময় ও তারিখটিকে ভুল হিসাবে পরিবর্তন করতে এটি পরীক্ষা করতে, সংযোগ বিচ্ছিন্ন করে আবার সংযোগ করুন।
ntpdate
করার cron
জন্য ব্যবহার করা যেতে পারে , এটি কোনও পরিষেবা চালানোর মতো ফলাফল (এনটিপিডি / ওপেনটিপিডি) করবে। তবে আপনি ডিফল্ট কনফিগারেশন এবং কোনও অতিরিক্ত সুরের সন্ধান করছেন, তাই না?