rsync ত্রুটি: symlink কোন উল্লেখ আছে


6

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

সেটআপ:

  • সিগুইন সঙ্গে উইন্ডোজ সার্ভার 2008 R2 ইনস্টল করা ফাইল ধারণকারী ব্যাক আপ
  • একই নেটওয়ার্কে ArchLinux সার্ভার যা উইন্ডোজ সার্ভার থেকে ব্যাকআপ ফাইলগুলি থাকা উচিত
  • উইন্ডোজ সার্ভার sshd ইনস্টল এবং কার্যকরী হয়েছে
  • উইন্ডোজ সার্ভারের চলমান rsync ডিমন নেই (যতদূর আমি বলতে পারি), কিন্তু আমি linux লিভার থেকে উইন্ডোজ সার্ভারের সাথে সংযোগ করতে এবং ফাইল কপি করতে ssh over rsync ব্যবহার করতে পারি।
  • যেহেতু একটি অ্যাপ্লিকেশন কোনও ফাইলকে ক্রমাগত খোলা রাখার জন্য রাখে, তাই উইন্ডোজ সার্ভারটি ড্রাইভের ভলিউম শ্যাডো কপি তৈরি করতে কনফিগার করা থাকে যা ব্যাক আপ করার জন্য ডেটা ধারণ করে
  • আমি সর্বশেষ শ্যাডো কপি ভলিউমের লিঙ্ক তৈরি করতে নিম্নলিখিত স্ক্রিপ্টটি ব্যবহার করি যাতে এটি rsync দ্বারা অ্যাক্সেস করা যায়:

    #!/bin/sh
    # Mount the latest shadow copy for the specified volume
    
    VOLUME="D:"
    LINK_NAME="E:\\latest-data-shadow-copy"
    
    
    SHADOW_VOLUME=`vssadmin list shadows /for=$VOLUME | grep "Shadow Copy Volume:" | tail -1 | tr -s ' ' | cut -d ' ' -f5`
    SHADOW_VOLUME+="\\"
    
    rm $LINK_NAME
    cmd.exe /c mklink /d "$LINK_NAME" "$SHADOW_VOLUME"
    

সমস্যাটি

যখন আমি sysinked ছায়া কপি ভলিউমের ডেটা ব্যাকআপ করার জন্য rsnapshot চালানোর চেষ্টা করি, তখন এটি নিম্নোক্ত ত্রুটিটি ফেরত দেয়:

    symlink has no referent: "/cygdrive/e/latest-data-shadow-copy"

Rsync কমান্ডটি rsnapshot কল করে:

    /usr/bin/rsync -a --delete --numeric-ids --relative --delete-excluded --chmod=Du=rwx,Dgo=rx,Fu=rw,Fgo=r --rsh=/usr/bin/ssh 'user@windowsip:/cygdrive/e/latest-data-shadow-copy/data-folder/' /media/backup-drive-1/.sync/

তবে আমি ব্যবহার করার চেষ্টা করি scp symlinked ছায়া কপি ভলিউম থেকে ফাইল কপি এটি সূক্ষ্ম কাজ করে:

    scp user@windowsip:/cygdrive/e/latest-data-shadow-copy/data-folder/test-file.txt test-file.txt

যতদূর আমি বুঝতে পারি, এটি মনে করে যে rsync ত্রুটিটির কারণ হল এটি উইন্ডোজ সার্ভারে chroot চালানো হচ্ছে সিম্বলিংযুক্ত ছায়া কপি ভলিউমটি অ্যাক্সেস করতে বাধা দেয়।

আমি একটি তৈরি করার চেষ্টা /etc/rsync.conf এবং নিম্নলিখিত যোগ করা:

    use chroot = no

কিন্তু এটি ত্রুটি কোন প্রভাব আছে। আমি এটি অনুমান করছি কারণ এটি rsync ডেমনের জন্য একটি কনফিগারেশন ফাইল যা আমি চলছি না।

প্রশ্নাবলি

  • কি প্রতিরোধ করা হয় rsync যখন symlinked ছায়া কপি অ্যাক্সেস থেকে scp সমস্যা ছাড়াই ফাইল অ্যাক্সেস করতে পারেন?
  • যদি সমস্যা হয় use chroot rsync সেটিংস, যদি আমি একটি rsync ডিমন চালনা না করি তবে কিভাবে এটি পরিবর্তন করব?

অগ্রিম আপনার প্রতিক্রিয়ার জন্য আপনাকে ধন্যবাদ!


স্কপটি সিস্টেমটিকে "/ সিগ্রেড / ই / সর্বশেষ-ডেটা-শ্যাডো-কপি" সমাধান করার জন্য কল করে, এবং rsync এটি নিজে সমাধান করার চেষ্টা করে? আপনি rsync যে লিংক লক্ষ্য দিতে হলে, এটা কাজ করে?
ShadSterling

উত্তর:


0

আমি একই সমস্যা ছিল symlink has no referent:

মূল কারণ ছিল: লিঙ্কটি অস্তিত্বহীন স্থানে নির্দেশ করে। লিঙ্ক তৈরি করা হয়েছে এবং লিঙ্ক আপডেট না পরে প্রতিষ্ঠানের শুধু কেউ ফাইল সিস্টেম গঠন পরিবর্তন।

সমাধান নিম্নলিখিত এক ছিল:

  1. বিদ্যমান অবস্থান ইঙ্গিত লিঙ্ক সংশোধন করুন।
  2. প্রয়োজনীয় হিসাবে লিঙ্ক মুছে ফেলুন (rsync কিন্তু তাদের ব্যবহার করে কেউ নেই)।
  3. বিকল্প সঙ্গে আপনার লিঙ্ক অ্যাক্সেস করতে rsync এর প্রচেষ্টা বাদ দিন --exclude '/cygdrive/e/latest-data-shadow-copy'। এই "প্রতিরোধ" পদ্ধতি বলা হয়, তবে সম্ভবত সেরাটি নয়, তাই শেষ বিকল্পটি প্রস্তাবিত।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.