দমন আরএসসিএনসি সতর্কতা: কিছু ফাইল স্থানান্তরিত হওয়ার আগে অদৃশ্য হয়ে যায়


15

আমার চলমান পোস্টফিক্স এবং কুরিয়ার সার্ভার ফাইলগুলি ব্যাক আপ করার সময় আমি প্রচুর সতর্কতা পাই:

file has vanished: /var/kunden/mail/username/name@mymail.de/tmp/courier.lock

rsyncক্রোন থেকে চালানোর সময় আমি কীভাবে এই সতর্কতাগুলি দমন করব /usr/bin/rsnapshot hourly?

আমি কি কোনওভাবে এই ডায়ারগুলি বাদ দিতে পারি?

/var/kunden/mail/*/*/tmp/

tmpফোল্ডারের গভীর পাশাপাশি হতে পারে, উদাহরণস্বরূপ:

file has vanished: /var/kunden/mail/username/name@mymail.de/.Presse/tmp/1353871473.M716135P32214_imapuid_36.test.de
file has vanished: /var/kunden/mail/username/name@mymail.de/.Presse/tmp/courier.lock

উত্তর:


7

আপনি ব্যতীত rsyncসুইচ ( --exclude) ব্যবহার করতে পারেন :

$ rsync -avz --exclude '**/tmp/' source/ destination/

এই ভাবে নির্দিষ্ট করা --exclude '**/tmp/'স্ট্রিং সহ যে কোনও পথে অগ্রাহ্য করবে /tmp/। আপনি এই আর্গুমেন্টগুলিকেও নিদর্শন সরবরাহ করতে পারেন।

উদাহরণ

$ rsync -avz --exclude '/path/to/*/tmp/' source/ destination/

ফর্মের পাথ উপর অগ্রাহ্য করা হবে: /path/to/*/tmp/


তাই আমি চেষ্টা করতে হবে rsync -a --exclude '/var/kunden/mail/*/*/tmp/' --exclude '/var/kunden/mail/*/*/*/tmp/' /var/kunden/ $SERVER/var_kunden/ ?
rubo77

@ রুবো - - এটি /tmp/যেভাবে লিখেছিল সেগুলি এতে অন্তর্ভুক্ত থাকা কোনও ডিরেক্টরিকে অগ্রাহ্য করবে। আপনি যদি আরও স্পষ্ট হতে চান তবে হ্যাঁ আপনি যা লিখেছেন তা নির্দিষ্ট করে দিতে পারেন।
slm

@ রুবো 77 অনুলিপিটি --exclude='/tmp/'কেবল tmpঅনুলিপিটির মূল ডিরেক্টরি থেকে বাদ দেওয়া হয়েছে । tmpযে কোনও জায়গায় ডেকে আনা সমস্ত উপ-ডিরেক্টরিকে বাদ দিতে , ব্যবহার করুন --exclude='**/tmp/'
গিলস 'অশুভ হওয়া বন্ধ করুন'

1
... অথবা স্ন্যাপশট সহ একটি ফাইল সিস্টেম ব্যবহার করুন ... ফাইলগুলি অর্ধেক অদৃশ্য হয়ে যায় এমন ব্যাকআপটি পুনরুদ্ধার করা সমস্যা বলে মনে হচ্ছে ... যতক্ষণ না সেগুলি অনর্থক, যদি না হয় তবে তাদের সম্ভবত বাদ দেওয়া উচিত ...
এরক

19

দুর্ভাগ্যক্রমে, এসডাব্লড্রিম সলিউশনে বর্ণিত বিপরীতে এর --ignore-missing-argsঅদৃশ্য ফাইলগুলিতে কোনও প্রভাব নেই। এটি কেবল সোর্স আর্গুমেন্টগুলিকে উপেক্ষা করবে যা বিদ্যমান নেই।

দেখুন man rsync:

  --ignore-missing-args
          When rsync is first processing the explicitly  requested  source
          files  (e.g. command-line arguments or --files-from entries), it
          is normally an error if the file cannot be found.   This  option
          suppresses  that  error,  and does not try to transfer the file.
          This does not affect subsequent vanished-file errors if  a  file
          was initially found to be present and later is no longer there.

নিখোঁজ হওয়া ফাইলটিকে উপেক্ষা করার "অফিশিয়াল" উপায়টি হল সরকারী আরএসসিএনসি উত্স সংগ্রহস্থল থেকে এই স্ক্রিপ্টটি ব্যবহার করা: https://git.samba.org/?p=rsync.git ;a=blob_plain ;f=support/rsync-no- বিলুপ্ত; HB = মস্তক

যা @ কেনারব এবং @ গিলস-কোয়ানট যা বলেছিল তার সাথে খুব মিল।


13

আরএসসিএনসি স্থানান্তর করার জন্য ফাইলগুলির তালিকা তৈরি করার সময় এই ফাইলগুলি বিদ্যমান থাকার কারণ ছিল তবে সেগুলি স্থানান্তর করার আগে মুছে ফেলা হয়।

এটি একটি সতর্কতা ম্যাসেজ, ত্রুটি নয়। তবে আপনার এই ফাইলটি কেন মুছে ফেলা হয়েছে তা জানার চেষ্টা করা উচিত, এটি সম্ভবত গুরুত্বপূর্ণ।

এই সতর্কতাটি উপেক্ষা করার জন্য, আপনি উপরের প্রশ্ন হিসাবে --exclud বিকল্প ব্যবহার করতে পারেন বা -ignore-missing-argsrsync বিকল্পটি ব্যবহার করতে পারেন , এটি rsync বিলুপ্ত ফাইলগুলিকে উপেক্ষা করে তোলে: --ignore-missing-args ignore missing source args without error এটি সম্ভবত সহায়তা করে।


এটি একটি নির্দিষ্ট রিটার্ন কোড যাচাই করা এবং এটি 0 এ ওভাররাইড করার চেয়ে স্পষ্টতই ভাল বলে মনে হচ্ছে
মনিকা সেলিওর জন্য

বিরল ক্ষেত্রে ব্যতীত, লাইভ ব্যাকআপের সময় অদৃশ্য হওয়া ফাইলগুলি একেবারে স্বাভাবিক (প্রচুর অ্যাপ্লিকেশন স্বল্প-স্থায়ী অস্থায়ী ফাইল তৈরি করে)। এটি বিশেষত কোনও মেল সার্ভারের ক্ষেত্রে সত্য, যেখানে ইমেল বার্তা সম্বলিত ফাইলগুলি নিয়মিতভাবে একটি ডিরেক্টরি থেকে অন্য ডিরেক্টরিতে স্থানান্তরিত হয়, সুতরাং আইএমএইচও এই উত্তরটি ওপি কর্তৃক গৃহীত কোনওটির চেয়ে যথেষ্ট পর্যাপ্ত।
মুনসুইপ

1
দুর্ভাগ্যক্রমে rynsc এর সমস্ত সংস্করণে এই বিকল্পটি বিদ্যমান নেই। বিশেষত, 3.0.6, যা সেন্টোস with সহ জাহাজগুলি
জেএফ

3
এই বিকল্পটি কেবল যুক্তিগুলির নামযুক্ত ফাইলগুলিকেই প্রভাবিত করে, পুনরাবৃত্ত অনুসন্ধানের সময় পাওয়া এগুলি এখনও সতর্ক হয়ে যায়।
জেসেন

6

ত্রুটির অর্থ হ'ল rsyncস্থানান্তর করার জন্য তালিকা তৈরি করার সময় বিদ্যমান ফাইলগুলি আর খুঁজে পাবে না। এই বিলুপ্ত-ফাইল ত্রুটিগুলি ঘটে যখন প্রাথমিকভাবে কোনও ফাইল উপস্থিত থাকে এবং পরে আর থাকে না। কিছু ক্ষেত্রে এটিও ঘটে যখন উত্স ফাইলগুলি দূষিত হয় বা নামটিতে অবৈধ অক্ষর থাকে (তাই fsckপরামর্শ দেওয়া হয়)।

মূলত এটি একটি সতর্কবার্তা, ত্রুটি নয়, তাই চিন্তার কোনও কারণ নেই, যেহেতু প্রতিটি গন্তব্য ফাইলের অবস্থা একটি রাষ্ট্র প্রতিফলিত করে যা চালানোর সময় সংশ্লিষ্ট উত্স ফাইলগুলি।

যদি এটি প্রস্থান মানটি শূন্য-না হওয়ার কারণে সমস্যা সৃষ্টি করে তবে এটি নিম্নলিখিত র‍্যাপার স্ক্রিপ্ট ( উত্স ) দ্বারা সমাধান করা যেতে পারে :

#!/bin/bash
(rsync "$@"; if [ $? == 24 ]; then exit 0; else exit $?; fi) 2>&1 | grep -v 'vanished'

বা নিম্নলিখিত কাজের স্ক্রিপ্ট ( উত্স ) দ্বারা:

#!/bin/sh
OUT=`/usr/bin/snapback2 2>&1`
RET=$?
if [ "$RET" != "23" -a "$RET" != "0" -a "$RET" != 24 ]; then
    echo "$OUT"
    exit $RET
fi

যা মূলত আরএসসিএন-এর মতো একই ত্রুটি কোডগুলির সাথে বিদ্যমান থাকে যদি আরএসসিএনসি ব্যর্থ হয়।

এতে আরও আলোচনা করা হয়েছে: বাগ 3653 - "নিখোঁজ হওয়া ফাইলগুলি" সতর্কতার প্রয়োজনীয়তা হ্রাস করুন


6

বা সহজভাবে (আধুনিক ):

#!/bin/bash

/usr/bin/rsync "$@" 2> >(grep -Ev '(file has |rsync warning: some files )vanished')
ret=$?
((ret==24)) && exit 0 || exit $ret

1
এতে স্ট্রিং থাকা সমস্ত ধরণের ফাইলের সতর্কতা দমন করবে না vanished?
rubo77

অবশ্যই, সেই অনুযায়ী সম্পাদনা করা পোস্ট
গিলস কুইনট

2

আমার উত্তরটি একটি বিশেষ ব্যবহারের ক্ষেত্রে হতে পারে তবে আমি অনুভব করেছি যে এটি লক্ষ্য করার মতো so তাই লোকেরা যদি এই ক্ষেত্রে পড়ে তবে ডেটা হারাবে না।

আরএসসিএনসি এর মাধ্যমে ড্রাইভের একটি নিয়মিত ব্যাকআপ সম্পাদন করার সময় আমি বেশ কয়েকটি ফাইলের জন্য এই বার্তাটি পাচ্ছিলাম।

আমি ডিস্কে একটি সিস্টেম চেক সম্পাদন করেছি এবং এটিতে দেখা গেছে যে ড্রাইভে সমস্যা রয়েছে (বরাদ্দ / ফাইল দুর্নীতি ইত্যাদি) এবং একটি ব্যাকআপ + পুনরুদ্ধার + পুনরুদ্ধারের প্রস্তাব দেওয়া হয়েছে।

সুতরাং আপনি দমন করার আগে বা বার্তাকে সরাসরি উপেক্ষা করার আগে আপনার ড্রাইভটিতে কেবল নিরাপদ থাকার জন্য স্বাস্থ্য পরীক্ষা চালানো বুদ্ধিমানের কাজ হতে পারে।


ড্রাইভ ব্যর্থতা কেবলমাত্র tmpডিরেক্টরিতে নির্বাচিতভাবে ঘটবে না ।

0

nosuid,nodev,nofail,x-gvfs-showবিকল্পগুলির সাথে আপনার ব্যাকআপ ডিস্কটি মাউন্ট করার চেষ্টা করুন।

আপনি কোন সিস্টেমটি ব্যবহার করছেন তা নিশ্চিত নয় তবে আমি বিশ্বাস করি এটি আপনার ডিস্কের মাউন্ট বিকল্পগুলির সাথে সম্পর্কিত। লিনাক্সে এটি ঘটে যদি আমি মাউন্ট বিকল্পগুলি সেট করি User Session Default। যখন আমি এটিকে অক্ষম করি তখন এটির সমাধান হয় এবং কোনও ত্রুটি ছাড়াই আরএসসিএনসি সম্পূর্ণ হয়।

এখানে চিত্র বর্ণনা লিখুন


0

এই প্যারামিটারটি ব্যবহার করুন:

--exclude-from="./exclude.ini"

একটি ফাইলের মধ্যে তালিকা রাখা। বর্জন.ইনাই ফাইলটিতে এমন কিছু লিখুন:

Cache
cache2/*
*.lock
/temp

কোথায়:

  1. "ক্যাশে" নামক সমস্ত ফোল্ডার এবং তার সামগ্রীগুলি বাদ দেয়;
  2. সমস্ত "ক্যাশে 2" নামক ফোল্ডারগুলির বিষয়বস্তু বাদ দেয় না তবে ফোল্ডারগুলির স্তরক্রম অন্তর্ভুক্ত করে আপনি সমস্ত সাবফোল্ডার পাবেন তবে খালি পাবেন;
  3. .lock (যেমন। ফায়ারফক্সের কয়েকটি লক ফাইল এবং ডেরাইভেটস) দিয়ে শেষ হওয়া সমস্ত ফাইলকে বাদ দেয়;
  4. / টেম্প ফোল্ডারের সামগ্রী বাদ দেয়।

মনে রাখবেন যে ফাইল সিস্টেম যদি কেস-ডিপেন্ডেন্ট হয় তবে আপনাকে এর জন্য অ্যাকাউন্ট করতে হতে পারে।

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