এই নিবন্ধটি আপনাকে দেখাবে কিভাবে একটি নির্দিষ্ট দিনের চেয়ে পুরনো ফাইল মুছে ফেলতে হয় (বা ঘন্টা/মিনিট) ম্যানুয়ালি বা স্বয়ংক্রিয়ভাবে ব্যাশ স্ক্রিপ্টের মাধ্যমে। উদাহরণ অন্তর্ভুক্ত।
নির্দিষ্ট সংখ্যক দিনের (বা মিনিট বা ঘন্টা) থেকে পুরানো ফাইলগুলি সরানোর ফলে দুটি লিনাক্স কমান্ড ব্যবহার করা হয় – rm এবং খোঁজ .
rm দিয়ে ফাইল মুছে ফেলা হচ্ছে
প্রথমে, rm আদেশ rm কমান্ড সরানোর জন্য ব্যবহার করা হয় লিনাক্সে ফাইল এবং ডিরেক্টরি। এটি কীভাবে ব্যবহার করা হয় সে সম্পর্কে এখানে একটি সম্পূর্ণ নিবন্ধ রয়েছে:
লিনাক্সে rm কমান্ড [উদাহরণ সহ]
ফাইলের একটি ফিল্টার করা তালিকা rm-এ পাস করা
পরবর্তী উপাদান, খোঁজ আদেশ খোঁজ কমান্ডটি মানদণ্ডের একটি সেটের উপর ভিত্তি করে ফাইলগুলি খুঁজে পেতে ব্যবহৃত হয় - এই ক্ষেত্রে, ফাইলের বয়স (এটি পরিবর্তন করার পর থেকে সময় কেটে গেছে)। এখানে খোঁজ বিষয়ে আমাদের নিবন্ধ কমান্ড:
লিনাক্সে কমান্ড খুঁজুন [উপযোগী উদাহরণ সহ]
তাদের একসাথে রাখা - উদাহরণ
খোঁজ ব্যবহার করে এবং rm একসাথে:
find /path/to/files/* -mtime +7 -exec rm {} \;
এখানে কি হচ্ছে?
- খুঁজে নিন ডাইরেক্টরিতে বলা হয় /path/to/files
- -mtime বিকল্পটি খোঁজে-এ পাঠানো হয়েছে +7 মান সহ এটিতে পাস করা হয়েছে - মানে ফাইলগুলি 7 দিনেরও বেশি আগে পরিবর্তিত হয়েছে
- exec প্রতিটি মিলে যাওয়া ফাইলের বিরুদ্ধে চালানোর জন্য কমান্ডের সাথে অনুসন্ধান করার জন্য বিকল্পটি পাস করা হয়
- rm -exec দ্বারা ডাকা হয় খোঁজ-এ বিকল্প
- এটি খোঁজে-এ দেওয়া শর্তের সাথে মিলে যাওয়া সমস্ত ফাইল মুছে ফেলবে
- রেখার শেষে কোঁকড়া ধনুর্বন্ধনী, স্ল্যাশ এবং সেমিকোলন কমান্ডের শেষে নির্দেশ করে find প্রতিটি মিলে যাওয়া ফাইলে চালানো উচিত
দিনের পরিবর্তে ঘন্টা, মিনিট
সময়ের একক হিসাবে দিনের পরিবর্তে মিনিট ব্যবহার করতে, আপনি -mmin প্রতিস্থাপন করতে পারেন এর পরিবর্তে -mtime .
find /path/to/files/* -mmin +30 -exec rm {} \;
উপরের উদাহরণটি 30 মিনিটের বেশি পুরানো ফাইল মুছে ফেলবে৷
এটিকে একটি স্ক্রিপ্টে পরিণত করা
এটি টাইপ করার পরিবর্তে, আপনি এটি একটি স্ক্রিপ্টে তৈরি করতে পারেন
#!/bin/bash find /path/to/files/* -mtime +7 -exec rm {} \;
উপরের স্নিপেটটি একটি ফাইলে সংরক্ষণ করুন (deletescript.sh, নামে উদাহরণস্বরূপ), এবং তারপর এটি চালানোর মাধ্যমে কল করা যেতে পারে:
./deletescript.sh
আপনি কমান্ডের জন্য একটি উপনামও তৈরি করতে পারেন যদি আপনি যেকোনো জায়গা থেকে এটি চালাতে চান।
পুরানো ফাইল মুছে ফেলার সময়সূচী
আপনি যদি একটি সেট ব্যবধানে স্বয়ংক্রিয়ভাবে কমান্ডটি চালাতে চান তবে এটিকে আপনার crontab-এ যোগ করুন . crontab ফাইল হল যেখানে ব্যবহারকারীর নির্ধারিত কাজগুলি লিনাক্সে রাখা হয় এবং এটি চালানোর মাধ্যমে সম্পাদনা করা যেতে পারে:
crontab -e
উপরে চালানো হলে, ক্রন্টাব সম্পাদক প্রদর্শিত হবে। স্ক্রিপ্টটি প্রতিদিন চালানোর জন্য ফাইলটিতে কেবল নিম্নলিখিতটি যুক্ত করুন:
@daily find /path/to/files/* -mtime +7 -exec rm {} \;