একটি স্বয়ংক্রিয় এইচএফএস + সংক্ষেপিত ফোল্ডার তৈরি করা হচ্ছে


17

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

আমি আফসটুল ( brew install afsctool) টুলটি পেরিয়ে এসেছি , যা কমান্ড-লাইনের মাধ্যমে কোনও ফোল্ডারে এবং এতে থাকা সমস্ত ফাইলের মধ্যে এইচএফএস + সংক্ষেপণ প্রয়োগ করতে পারে। তবে আমি বিশ্বাস করি এটি ফোল্ডারে স্থানান্তরিত ভবিষ্যতের ফাইলগুলির সংক্ষেপণটিকে সক্রিয় করে না।

ম্যানুয়ালি ফাইলগুলি সরানো এবং বার বার কমান্ড লাইন নির্দেশনা চালানো অসুবিধাজনক। অতএব আমি অনুমান করছি যে এটি দুটি পদক্ষেপে কার্যকর করতে আমাকে অটোমেটর / অ্যাপলস্ক্রিপ্ট ব্যবহার করতে হবে:

  1. এমন একটি স্ক্রিপ্ট তৈরি করুন যা কোনও ফাইলকে একটি নির্দিষ্ট ফোল্ডারে সরানোর অনুমতি দেয়। আদর্শভাবে আর্কাইভ নামের একটি বিকল্প ফাইলটিতে ডান ক্লিকের মাধ্যমে অ্যাক্সেসযোগ্য।
  2. afsctool -c <folder>সবেমাত্র ফোল্ডারে স্থানান্তরিত সমস্ত নতুন ফাইলে সংক্ষেপণ সক্রিয় করতে একটি কমান্ড লাইন নির্দেশিকা চালান ।

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


আপডেট

@ Kopischke গাইড ভাল কাজ করে। স্ক্রিপ্টটি নিজেই, আমি @ চিহ্ন দ্বারা উত্তরের ভিত্তিতে তৈরি করেছি, তবে এর afsctool -c <folder>পরিবর্তে ব্যবহার করছি ditto। স্ক্রিপ্টটি এখানে: এটি রাখা উচিত~/Library/Scripts/Folder Action Scripts

on adding folder items to this_folder after receiving these_items
repeat with i from 1 to number of items in these_items
    try
        set this_item to item i of these_items
        tell application "Finder"
            set the file_name to the POSIX path of this_item
        end tell
        set cmd to "/usr/local/bin/afsctool -c " & file_name
        do shell script cmd
    on error the error_message number the error_number
        display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1

    end try
end repeat
end adding folder items to

যেহেতু মোবাইলমেতে আফসকুলটি আর উপলভ্য নয়, তাই বর্তমানে গিটহাব-এ দিমদীপ / আফসকুল রয়েছে, বর্তমানে 1.6.4।

এছাড়াও afsctool MacPorts মধ্যে যেখানে তারা MobileMe সংখ্যার সচেতন কিন্তু GitHub এ উৎসের হয়তো অজ্ঞাত নন।


দুর্দান্ত প্রশ্ন। এ থেকে কী সংক্ষেপণের হার আশা করা যায়?
n1000

উত্তর:


6

আপনার প্রশ্নের উত্তরের দুটি অংশ রয়েছে।

  1. কীভাবে "সংরক্ষণাগার" ফাইলগুলিতে ফাইন্ডার প্রসঙ্গ মেনু আইটেম যুক্ত করবেন: একটি অটোমেটর পরিষেবা তৈরি করে এটি অর্জন করা সহজ (ম্যাক ওএস এক্স অটোমেশনের ওএস এক্স 10.6 এ প্রবর্তিত অটোমেটার পরিষেবাগুলি কী করতে পারে তার একটি ভাল ওভারভিউ রয়েছে):

    • অটোমেটর চালু করুন, আপনি যে ধরণের ওয়ার্কফ্লো তৈরি করতে চান তার জন্য অনুরোধ জানালে "পরিষেবা" নির্বাচন করুন।
    • "পরিষেবা গ্রহণ করে" ড্রপ ডাউনে "ফাইল বা ফোল্ডার" চয়ন করুন (আনুমানিক অনুবাদ - আমি একটি জার্মান সিস্টেমে আছি)। Allyচ্ছিকভাবে, "ইন" ড্রপ ডাউন "ফাইন্ডার" এ সেট করুন।
    • একটি "নির্বাচিত সন্ধানকারী আইটেম পান" ক্রিয়া যুক্ত করুন।
    • এর নীচে একটি "সন্ধানকারী আইটেমগুলি" পদক্ষেপ যুক্ত করুন এবং এটি আপনার লক্ষ্য ফোল্ডারে সেট করুন।
    • আপনার পরিষেবাটি ডিফল্ট অবস্থানে ( ~/Library/Services) সংরক্ষণাগার হিসাবে সংরক্ষণ করুন ।

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

  2. আপনার টার্গেট ফোল্ডারে যুক্ত ফাইলগুলির এইচএফএস + সংক্ষেপণ কীভাবে স্বয়ংক্রিয় করবেন: এটি অর্জনের বিভিন্ন উপায় রয়েছে। আপনি অবশ্যই আর্কাইভ পরিষেবাটিতে সেই পদক্ষেপটি যুক্ত করতে পারেন। এই পদ্ধতির অসুবিধা হ'ল যদি কোনও বাহ্যিক ফাইল বা ফোল্ডারগুলি অবশ্যই পরিষেবার বাহিরে ফোল্ডারে যুক্ত করা হয় তবে অবশ্যই কোনও সংক্ষেপণ প্রয়োগ করা হবে না। এন্ট্রি ভেক্টর বা ব্যবহারকারীর মিথস্ক্রিয়ায় নির্ভর না করে ফোল্ডারের সমস্ত কিছু স্বয়ংক্রিয়ভাবে সঙ্কুচিত হওয়া আরও ভাল পদ্ধতির হবে।

    একটি উপায় হ'ল আপনি আবিষ্কার করেছেন যে প্রতিবার আপনার দেখা ফোল্ডারে কোনও ফাইল বা ফোল্ডার যুক্ত হওয়ার পরে একটি সংক্ষেপণ ইউটিলিটি চালানো হবে:

    • অ্যাপলস্ক্রিপ্টে শেল ইউটিলিটি চালু করার উপায়টি হ'ল do shell scriptআদেশ - লিঙ্কযুক্ত ডকুমেন্টেশন দেখুন;
    • অ্যাপলস্ক্রিপ্টে ফাইল সিস্টেমের ইভেন্টগুলি উপার্জনের অন্তর্নিহিত উপায় হ'ল ফোল্ডার অ্যাকশনগুলি ব্যবহার করা , যা দেখে যাওয়া ফোল্ডারে পরিবর্তিত হওয়ার জন্য অ্যাপল স্ক্রিপ্টগুলি কল করে। স্ক্রিপ্টটি যে ইভেন্টগুলির প্রতিক্রিয়া দেখায় তাতে স্ক্রিপ্ট নিজেই সংজ্ঞায়িত করে, এটি সরবরাহকারী হ্যান্ডলারগুলির মাধ্যমে (উদাহরণস্বরূপ, মার্কের উত্তরের স্ক্রিপ্টটির জন্য একটি হ্যান্ডলার রয়েছে adding folder items- যার অর্থ এটি নতুন যুক্ত হওয়া ফাইলগুলিতে প্রতিক্রিয়া দেখায়; পুরো রেফারেন্সের জন্য অ্যাপ্লিকেশন ভাষা নির্দেশিকা দেখুন ) । ফোল্ডারগুলির ফোল্ডারগুলির পরিষেবা মেনুতে ফোল্ডার অ্যাকশন কনফিগারেশনটি পাওয়া যায় (প্রসঙ্গ মেনুতেও)।
    • ফোল্ডার অ্যাকশনের একটি টার্বোচার্জড বিকল্প হ'ল পল কিমের হ্যাজেল (বাণিজ্যিক সফ্টওয়্যার), যা নিয়ম ভিত্তিক প্রসেসিং এবং ফাইলসাইম ইভেন্ট হ্যান্ডলিংয়ের মানদণ্ডের আধিক্য যোগ করে যা আপনি সাধারণ ফোল্ডার ক্রিয়াকলাপের সাথে অর্জন করতে পারেন তার থেকে অনেক বেশি এগিয়ে যায় - আপনি যদি হ্যাজেল তদন্ত করতে চান তবে আপনি এখন কী পরিকল্পনা করছেন তার লাইন ধরে আরও বেশি জটিল জিনিস করার পরিকল্পনা করুন।

    সম্পূর্ণ স্ক্রিপ্টিং পদ্ধতির বিকল্প হ'ল লেটনেটসফ্টের ক্লাস্টারগুলি ব্যবহার করছে - অন্য একটি বাণিজ্যিক সফ্টওয়্যার, যা স্বয়ংক্রিয়ভাবে প্রয়োগ (এবং প্রয়োজন হলে পুনরায় প্রয়োগ করা হয়) দেখা হয়েছে এমন ফোল্ডারগুলির সামগ্রীতে এইচএফএস + সংক্ষেপণ ছাড়া কিছুই করে না।


আপনার উত্তরের জন্য ধন্যবাদ. আমি ফোল্ডার অ্যাকশন হিসাবে অ্যাপলস্ক্রিপ্ট চালনার বিকল্পটি চেষ্টা করব। আমি ক্লাস্টার্স সম্পর্কে সচেতন এবং আমি যা অর্জন করতে চাইছি তা হ'ল (একজন দরিদ্র লোকের ক্লাস্টার);)
বোজ

@ উইলিয়ামামভোর: খুশী যদি সাহায্য করতে পারতাম। তাহলে উত্তরটি মানতে কি আপত্তি হবে? এটি চেক চিহ্ন বোতাম :)।
kopischke

ফোল্ডার অ্যাকশন স্ক্রিপ্ট সমাধান কাজ করে। স্ক্রিপ্ট নিজেই আমি প্রশ্নের উপর আটকানো।
বোজ

5

@ উইলিয়ামামভুর: স্ক্রিপ্টটি ফাইলপথগুলির সাথে ব্যর্থ হয় যার মধ্যে ফাঁকা স্থান রয়েছে, set the file_name to the POSIX path of this_itemসঠিকভাবে এড়ায় না। এটিতে আপনার কোডের উপযুক্ত লাইনটি সংশোধন করুন:

set cmd to "/Users/sn/bin/bin/afsctool -c \"" & file_name & "\""

ব্যাখ্যা : আফসটুলের ফাইল_নামার যুক্তিটি উদ্ধৃতি চিহ্নগুলির সাথে ঘিরে রয়েছে, যা অ্যাপলস্ক্রিপ্ট কোডে তারা নিজেরাই সঠিকভাবে কমান্ড লাইনের পরিবেশে হস্তান্তর করার জন্য পালিয়ে যায়।

মেটা-বিষয় : আমার খ্যাতির পয়েন্টের অভাবে আমি যথাযথ অবস্থানে (= @ উইলিয়াময়ভোরের নিজস্ব পোস্টে) মন্তব্য করতে পারিনি, তাই আমি এটি একটি নিজস্ব উত্তর হিসাবে পোস্ট করি এবং আপনাকে আপনার পোস্টে কোড পরিবর্তন সম্পাদনা করতে বলি, এবং আমাকে একটি থাম্বস আপ দিন, যাতে আমি যথেষ্ট খ্যাতি অর্জন করি, আমাকে ভবিষ্যতে সরাসরি মন্তব্য করতে সক্ষম করে। ধন্যবাদ!

এর পরে আমি বা প্রশাসক আমার পোস্ট মুছতে পারতেন।


3

এই থ্রেডটি একটি ফোল্ডার অ্যাকশন হিসাবে ব্যবহারের জন্য একটি অ্যাপ্লস্ক্রিপ্ট দেয় যা ফাইলগুলি যুক্ত হওয়ার সাথে সাথে সংকুচিত করবে

on adding folder items to thisFolder after receiving theseItems
    set destinationPath to "/POSIX path/to/destination/folder"
    repeat with thisItem in theseItems
        set cmd to "ditto --hfsCompression " & quoted form of POSIX path of thisItem & " " & destinationPath
        do shell script cmd with administrator privileges
    end repeat
end adding folder items to

--hfsCompressionবিকল্পটি সম্পর্কে জানতেন না ditto- ভাল! তবে আপনার উত্তরটি ফাইন্ডারে মুভিং স্ক্রিপ্টকে সংহত করার বিষয়ে ওপি-র প্রশ্নের সমাধান করে না, এটি সংরক্ষণাগার ফোল্ডারে ফেলে দেওয়া ফাইলগুলি অন্য ফোল্ডারে নিয়ে যায় (যা আমি মনে করি যে ওপি করার পরিকল্পনা করার চেয়ে আরও একটি পুনর্নির্দেশ হবে) এবং এটি প্রমাণীকরণের জন্য জিজ্ঞাসা করবে প্রতিবার (একটি অটোমেশন প্রসঙ্গে বিরক্তিকর)
kopischke

0

ক্লাস্টারের

… মাউন্টেন সিংহ, সিংহ এবং তুষার চিতাবাঘের ফাইল সংক্ষেপণ প্রযুক্তির সুবিধা গ্রহণ করে ...

মোরস্পেস ফোল্ডার সংক্ষেপণ

… টেক্সট এবং ডেটা ডকুমেন্টস, ডাটাবেস এবং মেলবাক্সের মতো সঙ্কুচিত ফাইল ফর্ম্যাটগুলিতে এইচএফএস + সংক্ষেপণের সর্বোত্তম প্রভাব রয়েছে। একটি সাধারণ মেল মেলবক্স আকার 50% পর্যন্ত হ্রাস করা যেতে পারে। ...

পক্ষপাত

এই দু'জনের মধ্যে আমি ক্লাস্টারগুলিকে আরও পরিপক্ক এবং ব্যবহার করা সহজ - এই প্রশ্নের জন্য সম্ভবত আরও ভাল ফিট fit


সাবধানতার সাথে এগিয়ে যান

একটি প্রান্তের ক্ষেত্রে, অ্যাপলএফএসকম্প্রেশনটির তৃতীয় পক্ষের ব্যবহারের সাথে নীরব ডেটালেস হতে পারে। আমি যা বলতে পারি তা থেকে এটি ওএসের একটি বাগ এবং এটি কেবল সেখানে ঘটতে পারে যেখানে অসাধারণ স্থানের অভাব আছে। আমি অ্যাপলকে বাগ খাওয়াবো।


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