ভাগ করা ড্রাইভ চেকিং / মাউন্টিংয়ের জন্য নিয়মিত স্ক্রিপ্ট / অ্যাপ্লিকেশন


2

আমি ভাবছি যে এই সমস্যার জন্য শুরু করার জন্য ভাল জায়গা কোথায়? আমি বিশ্বাস করি এটি অ্যাপল স্ক্রিপ্ট ব্যবহার করে অর্জন করা যেতে পারে তবে স্বীকারোক্তি সহ আমি এর ক্ষমতাগুলি জানি না।

পরিস্থিতি: আমার একটি এনএএস আছে যা আমি ফাইন্ডার ব্যবহার করে লগ ইন করি। লগ ইন হয়ে গেলে এনএএস-তে দুটি ফোল্ডার থাকে, যখন আমি "এসএনএএস" ফোল্ডারগুলির একটিতে ক্লিক করি এটি এটি রুটে মাউন্ট করে (যেমন, আমি যদি সিএমডি + উপরে তীরচিহ্নে পৌঁছে যাই তবে এটি অন্যান্য ড্রাইভের পাশের তালিকাভুক্ত)। আমি তখন এটিকে আমার পছন্দসই তালিকায় টেনে আনি।

যখন ম্যাকটি পুনরায় চালু হয় এবং সংযোগটি প্রিয় হয়ে যায় এবং আমাকে প্রক্রিয়াটি পুনরাবৃত্তি করতে হয়।

আমি প্রতিটি বুটে স্বয়ংক্রিয়ভাবে চালিত স্ক্রিপ্ট চাই এবং এবং পর্যায়ক্রমে (বলি, প্রতি 30 সেকেন্ড বা তারপরে)। স্ক্রিপ্টটিতে এনএএস লগ ইন করা আছে কিনা তা পরীক্ষা করা উচিত, না হলে এটিতে লগ ইন করুন। ফোল্ডার / ড্রাইভ মাউন্ট করা হয়েছে কিনা তা পরীক্ষা করুন, না থাকলে এটি মাউন্ট করুন। তারপরে এটি পছন্দের তালিকায় রয়েছে কিনা তা যাচাই করুন এবং যদি তা না হয় তবে এটি পছন্দ করুন।

কার্যকরভাবে প্রতিবার NAS ফোল্ডার / ড্রাইভে স্বয়ংক্রিয়ভাবে লগ ইন, মাউন্টিং এবং অনুগ্রহ করে।

স্ক্রিপ্টে লেগের কাজটি করতে পেরে খুশি তবে কারও কাছে যদি / ভাষাটি ব্যবহার করার / বা সম্ভবত একটি ডেডিকেটেড অ্যাপ্লিকেশন ব্যবহার করার পরামর্শ রয়েছে তবে এটি দুর্দান্ত হতে পারে কারণ অনুসন্ধানগুলিতে আমি অনুরোধের জন্য কিছুই খুঁজে পাচ্ছি না

আমি বর্তমানের পদক্ষেপ নেওয়া হচ্ছে তা দেখানোর জন্য একটি সংখ্যক চিত্র সংযুক্ত করেছি।

ওএসের বিশদ: ম্যাকোস সিয়েরা 10.12.1 (16 বি 2555)

স্বয়ংক্রিয়ভাবে প্রয়োজনীয় পদক্ষেপগুলি

উত্তর:


1

আপনি শেল এ এটি করতে পারেন।

একটি টার্মিনাল চালু করুন, তারপরে চালান:

mount

আপনার ভলিউমের সাথে লাইনটি সন্ধান করুন এবং স্থানটি না হওয়া পর্যন্ত প্রথম অংশটি ধরুন। এর মতো কিছু দেখতে পাওয়া উচিত:

//warren@10.0.15.2/Shared%20Network%20Volume

Thats ব্যবহারকারীর নাম @ আইপিআর_এনএএস / ভলিউম নাম ame

এখন এখানে স্ক্রিপ্ট, এটি "রিমাউন্ট.শ" হিসাবে সংরক্ষণ করুন

#!/bin/bash

date
mounted=$(/sbin/mount | grep -c "VOLUMENAME")
if [ $mounted -eq 0 ]; then
   ping -q -c 2 -t 1 IP_ADDRESS > /dev/null 2>&1
   if [ $? -eq 0 ]; then
      if [ ! -d "/Volumes/VOLUMENAME" ]; then
         mkdir "/Volumes/VOLUMENAME"
         chown LOCALLOGIN:staff "/Volumes/VOLUMENAME"
      fi
     su LOCALLOGIN -c "/sbin/mount -t afp afp://YOURLOGIN:PASSWORD@IP_ADDRESS/VOLUMENAME /Volumes/VOLUMENAME"
   fi
else
   echo "Already mounted"

fi

উপরের সমস্ত সিএপিএসে আপনাকে ভেরিয়েবলগুলি পরিবর্তন করতে হবে।

YOURLOGIN (Your login on the NAS)
PASSWORD (Your password on the NAS)
LOCALLOGIN (Your local login on the MAC machine)
IP_ADDRESS (the IP ADDRESS of the NAS)
VOLUMENAME (The Volume Name on the NAS)

আপনি পূর্বে যে নেটওয়ার্ক ভলিউমটি মাউন্ট করেছিলেন তা আনমাউন্ট করুন, তারপরে চালান:

chmod 755 remount.sh
sudo ./remount.sh

এটি ভলিউম ঠিক আছে তা নিশ্চিত করুন। এটি আমার ম্যাকবুকটিতে অ্যাপল টাইম ক্যাপসুলের বিপরীতে সিয়েরা চালানোর ক্ষেত্রে দুর্দান্ত কাজ করেছে।

এখন যদি সবকিছু ঠিক থাকে তবে আমরা প্রতি 15 মিনিটে এটি রুট (sudo) হিসাবে চালানোর জন্য ক্রোনটিতে যুক্ত করি।

sudo crontab -e

এই জাতীয় কিছু যোগ করুন (স্বাদ থেকে মরসুম):

*/15 * * * * /Users/warren/remount.sh >> /Users/warren/remount.log 2>&1

আপনি নোট করবেন আমি আমার হোম ডিরেক্টরিতে স্ক্রিপ্টটি সংরক্ষণ করেছি। আপনি যদি পরিষ্কার থাকেন তবে আপনি সম্ভবত এটি সেখানে সংরক্ষণ করতে চান না।

ভলিউমটি বাতিল করুন, এবং 15 মিনিট অপেক্ষা করুন এবং এটি আবার প্রদর্শিত হবে কিনা তা দেখুন। যদি তা না হয় তবে লগ ফাইলটি দেখুন কী হবে তা দেখুন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.