আমার একটি বাশ স্ক্রিপ্ট রয়েছে যা লিনাক্স মেশিনটি চালিত হওয়া অবধি চলবে। আমি নীচে প্রদর্শিত হিসাবে এটি শুরু:
( /mnt/apps/start.sh 2>&1 | tee /tmp/nginx/debug_log.log ) &
এটি লাঞ্ছিত হওয়ার পরে, আমি নীচের মত আমার পিএস আউটপুটে টি কমান্ডটি দেখতে পাচ্ছি :
$ ps | grep tee
418 root 0:02 tee /tmp/nginx/debug_log.log
3557 root 0:00 grep tee
আমি একটি ফাংশন আছে মনিটর লগ যে আকার টী বর্ণের নাম উত্পাদন করে এবং নিহত টী বর্ণের নাম কমান্ড যখন লগ একটি নির্দিষ্ট আকারের ছুঁয়েছে:
monitor_debug_log_size() {
## Monitor the file size of the debug log to make sure it does not get too big
while true; do
cecho r "CHECKING DEBUG LOG SIZE... "
debugLogSizeBytes=$(stat -c%s "/tmp/nginx/debug_log.log")
cecho r "DEBUG LOG SIZE: $debugLogSizeBytes"
if [ $((debugLogSizeBytes)) -gt 100000 ]; then
cecho r "DEBUG LOG HAS GROWN TO LARGE... "
sleep 3
#rm -rf /tmp/nginx/debug_log.log 1>/dev/null 2>/dev/null
kill -9 `pgrep -f tee`
fi
sleep 30
done
}
আমার আশ্চর্যের বিষয়, টি কমান্ডটি হত্যা করাও start.sh উদাহরণ দিয়ে হত্যা করে। কেন? আমি কীভাবে টি কমান্ডটি শেষ করব তবে আমার স্টার্ট.শ চালিয়ে যেতে হবে? ধন্যবাদ।
tee -a
জন্যtee
, পরিশেষে যোগ মোডে ফাইল খোলার জন্য অন্যথায়, টী বর্ণের নাম MacOS যে মত একই অফসেট আপনি এটা (অগ্রভাগ ছাঁটিয়া পর এ ফাইলে লেখার এবং সিস্টেম যে বিক্ষিপ্ত ফাইলগুলি সমর্থন করছি না চালিয়ে হবে দ্বিগুণ ডিস্কের জায়গার দ্বিগুণ হয়ে পজিশনের দিকের ফাইলটির অংশটি পুনরায় স্থান দিন।