Automation Scripts এর উদাহরণ

Rexx এর Macros এবং Automation (রেক্স এর ম্যাক্রোস এবং অটোমেশন) - রেক্স (Rexx) - Computer Programming

332

Rexx একটি শক্তিশালী স্ক্রিপ্টিং ভাষা, যা সিস্টেম অটোমেশন, টাস্ক অটোমেশন, এবং ডেটা ম্যানিপুলেশন কাজগুলো সহজ করে। Rexx স্ক্রিপ্ট ব্যবহার করে বিভিন্ন কাজ যেমন ফাইল অপারেশন, ডেটাবেস ম্যানিপুলেশন, এবং লোগ ফাইল প্রক্রিয়াকরণ অটোমেট করা যেতে পারে।

এখানে কিছু উদাহরণ দেওয়া হলো, যেগুলোর মাধ্যমে Rexx দিয়ে অটোমেশন স্ক্রিপ্ট তৈরি করা যায়:


1. File Backup Automation Script

এই স্ক্রিপ্টটি একটি নির্দিষ্ট ফোল্ডার থেকে ফাইল ব্যাকআপ নেবে এবং অন্য একটি ফোল্ডারে কপি করবে। এটি একটি সাধারণ অটোমেশন স্ক্রিপ্ট যা দৈনিক ব্যাকআপ নিতে ব্যবহৃত হতে পারে।

উদাহরণ:

/* File Backup Automation Script */

/* ব্যাকআপ নিতে হবে এমন ফোল্ডার এবং ব্যাকআপ ফোল্ডারের পাথ */
sourceDir = '/home/user/documents'
backupDir = '/home/user/backup'

/* বর্তমান তারিখ ও সময় সংগ্রহ */
date = date('iso')  /* ISO ফরম্যাটে তারিখ */

/* ব্যাকআপ ফাইলের নাম তৈরী করা */
backupFile = backupDir || '/backup_' || date || '.tar.gz'

/* ব্যাকআপ নেওয়ার জন্য কমান্ড */
say 'Starting backup...'
call backupFiles sourceDir backupFile

/* ব্যাকআপ ফাংশন */
backupFiles: procedure
    parse arg sourceDir backupFile
    /* কমান্ড চালানোর জন্য Rexx ব্যবহার করা হচ্ছে */
    'tar -czf' backupFile ' -C ' sourceDir ' .'
    say 'Backup completed: ' backupFile

ব্যাখ্যা:

  • sourceDir এবং backupDir ভেরিয়েবলে ফোল্ডারের পাথ দেয়া হয়েছে।
  • date('iso') দিয়ে বর্তমান তারিখ ও সময় সংগ্রহ করা হচ্ছে।
  • tar কমান্ড ব্যবহার করে ব্যাকআপ ফাইল তৈরি করা হচ্ছে।

আউটপুট:

Starting backup...
Backup completed: /home/user/backup/backup_2024-11-20T12:30:00.tar.gz

2. Log File Monitoring and Archiving Script

এই স্ক্রিপ্টটি লোগ ফাইল মনিটর করবে এবং যদি কোনো নতুন তথ্য যুক্ত হয়, তবে তা আর্কাইভ করবে।

উদাহরণ:

/* Log File Monitoring and Archiving Script */

/* লোগ ফাইলের পাথ */
logFile = '/var/log/syslog'
archiveDir = '/home/user/archive'
currentTime = time('seconds')  /* বর্তমান সময় */

/* লোগ ফাইলের আর্কাইভিং */
call monitorLogFile logFile archiveDir currentTime

/* লোগ ফাইল মনিটরিং ফাংশন */
monitorLogFile: procedure
    parse arg logFile archiveDir currentTime
    /* লোগ ফাইলের সর্বশেষ এন্ট্রি পড়া */
    'tail -n 10 ' logFile > ' /tmp/log.txt'
    
    /* নতুন তথ্য সংরক্ষণ */
    newData = strip('cat /tmp/log.txt')
    if newData <> '' then do
        timestamp = time('seconds')   /* বর্তমান সময় স্ট্যাম্প */
        archiveFile = archiveDir || '/log_' || timestamp || '.log'
        'cp /tmp/log.txt ' archiveFile
        say 'New log data archived to: ' archiveFile
    end
    else
        say 'No new log data.'

ব্যাখ্যা:

  • logFile এবং archiveDir ভেরিয়েবলে লোগ ফাইল এবং আর্কাইভ ডিরেক্টরির পাথ দেয়া হয়েছে।
  • tail -n 10 কমান্ড ব্যবহার করে লোগ ফাইলের শেষ ১০টি লাইন সংগ্রহ করা হচ্ছে।
  • নতুন তথ্য থাকলে তা আর্কাইভ ডিরেক্টরিতে কপি করা হচ্ছে।

আউটপুট:

New log data archived to: /home/user/archive/log_1637401234.log

3. Automatic File Cleanup Script

এই স্ক্রিপ্টটি একটি নির্দিষ্ট ডিরেক্টরি থেকে পুরনো ফাইলগুলি ডিলিট করবে, যেগুলি নির্দিষ্ট সময়ের আগে তৈরি হয়েছে।

উদাহরণ:

/* Automatic File Cleanup Script */

/* ফাইল ডিরেক্টরি এবং ফাইলের বয়স */
dirPath = '/home/user/tempfiles'
ageLimit = 30 /* দিন */

/* ফাইল ডিলিট করার জন্য স্ক্রিপ্ট */
call cleanupOldFiles dirPath ageLimit

/* ফাইল ক্লিনআপ ফাংশন */
cleanupOldFiles: procedure
    parse arg dirPath ageLimit
    /* find কমান্ড ব্যবহার করে পুরনো ফাইল খুঁজে বের করা */
    cmd = 'find ' dirPath ' -type f -mtime +' ageLimit
    'find ' dirPath ' -type f -mtime +' ageLimit ' -exec rm -f {} \;'
    say 'Old files older than ' ageLimit ' days have been deleted.'

ব্যাখ্যা:

  • find কমান্ডটি ব্যবহার করা হয়েছে ডিরেক্টরির মধ্যে ৩০ দিনের পুরনো ফাইল খুঁজে বের করতে।
  • -exec rm -f {} ব্যবহার করে সেই ফাইলগুলো ডিলিট করা হচ্ছে।

আউটপুট:

Old files older than 30 days have been deleted.

4. Automatic System Update Script

এই স্ক্রিপ্টটি সিস্টেমের সমস্ত প্যাকেজ আপডেট করতে ব্যবহৃত হয়।

উদাহরণ:

/* Automatic System Update Script */

/* সিস্টেম আপডেট করার জন্য স্ক্রিপ্ট */
call systemUpdate

/* সিস্টেম আপডেট ফাংশন */
systemUpdate: procedure
    say 'Updating system packages...'
    'sudo apt-get update -y'   /* Ubuntu/Debian */
    'sudo apt-get upgrade -y'
    say 'System update completed.'

ব্যাখ্যা:

  • এই স্ক্রিপ্টটি apt-get update এবং apt-get upgrade কমান্ড ব্যবহার করে সিস্টেমের সমস্ত প্যাকেজ আপডেট করবে।

আউটপুট:

Updating system packages...
System update completed.

সারাংশ:

Rexx স্ক্রিপ্টিং ভাষা ব্যবহার করে সিস্টেম অটোমেশন অনেক সহজ। আপনি ব্যাকআপ তৈরি, লোগ ফাইল মনিটরিং, ফাইল ক্লিনআপ, এবং সিস্টেম আপডেটের মতো কাজগুলি অটোমেট করতে Rexx ব্যবহার করতে পারেন। এসব স্ক্রিপ্ট আপনার দৈনন্দিন কাজকে আরও দ্রুত এবং কার্যকরীভাবে সম্পন্ন করতে সহায়তা করবে।

Content added By
Promotion

Are you sure to start over?

Loading...