मौजूदा टाइम मशीन बैकअप को स्वचालित रूप से एक निश्चित आकार में सिकोड़ें


11

मैं इस समस्या का हल ढूंढने के लिए घंटों तक गूँजता रहा, लेकिन मुझे ऐसा कोई उत्तर नहीं मिला, जो मेरी समस्या के लिए उपयुक्त हो।

मेरा सेटअप:

  • मेरे पास ~ 1TB हार्ड ड्राइव वाला iMac है
  • मैं इसे टाइम मशीन के माध्यम से एक Synology NAS DS214 + के साथ ~ 2.7TB स्पेस के साथ बैकअप दे रहा हूं

मेरी समस्या:

  • मैं बैकअप उपयोगकर्ता के लिए एक आकार सीमा निर्धारित करना भूल गया। कोई मेरा टाइम मशीन बैकअप 2.3TB स्पेस का उपयोग नहीं करता है। यह ठीक नहीं है।
  • मैं Synology उपयोगकर्ता के लिए एक कोटा निर्धारित नहीं कर सकता, क्योंकि यह शून्य से शुरू होने की गणना करने के लिए शुरू होता है।

मुझे क्या करने का मन है:

  • यदि संभव हो तो मैं अपने टाइम मशीन बैकअप को सबसे पुराने बैकअप को हटाकर ~ 1.5TB की सीमा तक स्वचालित रूप से सिकोड़ने के लिए कहना चाहता हूं।
  • फिर मैं चाहता हूं कि विरल बंडल अब और बड़ा न हो।

क्या आप में से किसी को भी एक समाधान दिखाई देता है? या मुझे अपने लक्ष्य तक पहुँचने के लिए अपने सभी पुराने बैकअप को हटाना होगा ?


बस FYI करें: मैं OS X Yosemite 10.10.3 का उपयोग कर रहा हूं और मेरे Synology NAS पर वर्तमान फर्मवेयर।
माइकेल

जवाबों:


3

टाइम मशीन एक आकार निर्धारण का सम्मान करेगी - लेकिन केवल जब आप कंटेनर बनाते हैं । यह कार्यशीलता वह सब है जो Apple देशी बैकअप के लिए प्रदान करता है, इसलिए आपको एक कस्टम सेटअप की आवश्यकता होती है जो आप पूछते हैं, और जब आप कंटेनर में बैकअप लेना शुरू करते हैं तो आप चीजों को सीमित नहीं कर सकते।

आगे जाकर अगर आप एक नया प्रतिबंधित कंटेनर बनाना चाहते हैं, तो अवधारणा को मैप करना मुश्किल नहीं है।

  • पर्यायवाची पर एक नया कंटेनर बनाएं और जब आप प्रक्रिया शुरू करते हैं तो आकार की बाधाओं को लागू करना सुनिश्चित करें।

Server.app ऐसा आसानी से करता है - मुझे सिनॉलॉजी कोड के बारे में पता नहीं है जो उस विशेषता को उल्टा करता है, लेकिन आश्चर्य होगा कि यह GitHub पर नहीं है या कहीं सार्वजनिक रूप से प्रकाशित नहीं हुआ है।

उस बिंदु पर, आप उपयोगकर्ता फ़ोल्डर के सभी बैकअप को हटा सकते हैं जो बड़े हैं और फिर ब्लॉक करके पुराने बैकअप डेटा को नए गंतव्य पर कॉपी कर सकते हैं और फिर बैकअप को वारिस कर सकते हैं।

आप कमांड लाइन से पतले बैकअप अंतराल या इस स्वचालन को भी स्क्रिप्ट कर सकते हैं ।

बहुत सारे और बहुत सारे काम, लेकिन यह एक परियोजना के रूप में इसके लायक हो सकता है अगर कोई इच्छुक है।

जब मैं आपके जूते में होता हूं, तो मैं एक ऑफ़लाइन हार्ड ड्राइव पर पुराने "बहुत बड़े" बैकअप को कॉपी करता हूं और इसे एक शेल्फ पर रख देता हूं और आपके द्वारा पसंद किए गए आकार के नए बैकअप के साथ शुरू होता है। 6 महीने या एक साल में - उस पुरानी ड्राइव को तब तक पोंछें जब तक आपको वास्तव में महसूस न हो कि आपको उस पुराने इतिहास की आवश्यकता है।


मैंने जो कुछ किया है, उसके अनुसार: मैंने एक नए टाइम मशीन बैकअप के साथ शुरुआत की। हालांकि जवाब देने के लिए धन्यवाद!
माइकल

TimeMachine में Sparsebundle के लिए एक Maxsize सेट करने के लिए एक सेटिंग है, लेकिन मेरे अनुभव में यह केवल नए Sparsebundles के लिए काम करता है, मौजूदा वाले नहीं। उनकी समस्या का एकमात्र समाधान पुराने बैकअप को हटाना है और मेरा समाधान ऐसा करने का सबसे अच्छा तरीका है।
रॉबर्ट बर्रूको

सहमति - चाहिए मैं बोल्ड लेकिन केवल तभी जब आप कंटेनर बनाने या बदलने कि और अधिक स्पष्ट @RobertBarrueco होने के लिए
bmike

मैंने पाया कि "डिस्क यूटिलिटी" टाइम मशीन कंटेनर का आकार बदल सकती है अगर उसके अंदर खाली जगह होती है, जिसके कारण टाइम मशीन को सीमा के रूप में नए, छोटे कंटेनर आकार का उपयोग करना पड़ता है। यह मेरे टाइम कैप्सूल पर था। मेरा अनुमान है कि प्रारंभिक कंटेनर तब उपलब्ध खाली स्थान से निर्मित होता है।
थोर्बोजर्न रेवन एंडरसन

2

यह OSX टर्मिनल का उपयोग करने का सबसे आसान समाधान है।

TimeMachine में सभी बैकअप की एक सूची प्राप्त करें। यह आपको बैकअप के लिए पूर्ण निर्देशिका पथ भी दिखाएगा जिसकी आपको चरण 2 में आवश्यकता होगी ...

$ tmutil listbackups

/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-02-213405
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-09-192323
/Volumes/Time Machine Backups/Backups.backupdb/{your-macbook}/2018-10-19-212659

अपनी तिथि के आधार पर हटाने के लिए कौन से बैकअप चुनें। एक वाइल्डकार्ड * के उपयोग और चरण 1 से निर्देशिका के उपयोग पर ध्यान दें। उदाहरण के लिए, 2018 के सभी बैकअप को हटाने के लिए जिसका आप उपयोग करेंगे:

$ sudo tmutil delete '/ Volumes / Time Machine Backups / Backups.backupdb / {your-macbook} / 2018 -' *

अंतिम चरण विरल बंडल से अंतरिक्ष को सिकोड़ना और पुनर्प्राप्त करना है। .Sparsebundle फ़ाइल के लिए अपनी बैकअप ड्राइव खोजें।

$ sudo hdiutil कॉम्पैक्ट '


यह स्वचालित रूप से एक विशिष्ट आकार के लिए बैकअप को कैसे छोटा करता है जैसा कि ओपी ने पूछा था?
nohillside

0

बैकअप वॉल्यूम को इच्छित आकार में सिकोड़ें। टाइम मशीन को तब तक बैकअप जोड़ते रहने के लिए डिज़ाइन किया गया है जब तक कि मात्रा पूरी न हो जाए, फिर पुरानी प्रतियों को प्रिंट करें। यह अन्य चीजों के साथ भंडारण स्थान साझा करने के लिए डिज़ाइन नहीं किया गया है, न ही एक्स गीगाबाइट्स को गंतव्य पर मुफ्त छोड़ने के लिए।


5
खैर, मैं वॉल्यूम को कम नहीं कर सकता, क्योंकि यह पहले से ही अधिक जगह लेता है। यही मेरी समस्या है।
माइकल

1
आप वॉल्यूम को कैसे छोटा करेंगे?
jhh

0

मैं पहले दिए गए उत्तर से सहमत हूं, हालांकि आप जो कोशिश कर सकते हैं वह टाइम मशीन बैकअप (अपने जोखिम पर) को मैन्युअल रूप से हटाने के लिए है।

यदि आप वॉल्यूम को माउंट करते हैं, तो "बैकअपs.backupdb" नामक एक फ़ोल्डर है (यह रिमोट बैकअप पर थोड़ा अलग दिख सकता है)। इसके अंदर आपके कंप्यूटर का नाम होगा और फिर या तो दिनांक या वॉल्यूम, या इसके विपरीत (क्षमा करें, मैं वर्तमान में अपने स्वयं के मैक से दूर हूं और सटीक क्रम की जांच नहीं कर सकता)।

यदि आप कुछ पुराने दिनांक फ़ोल्डर हटाते हैं, तो आप वॉल्यूम को आकार देने के लिए कुछ स्थान खाली कर देंगे।

नोट: ध्यान रखें कि टाइम मशीन अपरिवर्तित फ़ाइलों के लिए हार्डलिंक का उपयोग करके एक वृद्धिशील बैकअप है। इसलिए, एक दिनांक फ़ोल्डर को हटाने से, उस स्थान की मात्रा को नहीं हटाया जा सकता है जिसके आकार का होना चाहिए।


2
यह साइट आपके बैकअप का उपयोग करके हटाने के लिए कहती है sudo tmutil delete
हार्वे

टाइम मशीन हार्डलिंक द्वारा अपरिवर्तित फ़ाइलें साझा करता है। यदि आप एक संपूर्ण बैकअप को हटाते हैं, तो अन्य बैकअप द्वारा उपयोग की जाने वाली फाइलें केवल लिंक नहीं हटाई जाती हैं।
WGroleau

0
momomo.com.apple.timemachine.backups.list() {
        tmutil listbackups
}
momomo.com.apple.timemachine.backups.compact() {
        local leave="${1}";

        if [[ "${leave}" == "" ]]; then leave="5"; fi

        local backups=(
                $(momomo.com.apple.timemachine.backups.list)
        )

        local length="${#backups[@]}"
        local     to="(("${length}"-"${leave}"))"

        local i=0; while [[ "${i}" -lt "${to}"  ]]; do
                local backup="${backups[i]}"

                sudo tmutil delete "${backup}"

                echo -e "\n\n"

                ((++i))
        done   
}

उदाहरण:

# To leave last 10 on disk and remove all previous before
momomo.com.apple.timemachine.backups.compact 10 

बार-बार बुलाया जा सकता है।

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Deleted (4.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-21-001329
    Total deleted: 4.6G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Deleted (5.1G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2019-12-28-001355
    Total deleted: 5.1G

    Deleting: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Deleted (6.6G): /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-04-001349
    Total deleted: 6.6G

    Deleting backup: /Volumes/backupdisk-1/Backups.backupdb/m-desktop-2/2020-01-11-002303
    ...
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.