অনুপস্থিত ফাইলগুলিকে উপেক্ষা করার জন্য আমি কীভাবে RSSync পেতে পারি?


9

আমি নিম্নলিখিতের মতো কয়েকটি বিভিন্ন সিস্টেমে কমান্ড চালাচ্ছি:

$ rsync -a -v foo@machine.company.com:'/path/to/first/*.log path/to/second.txt' /dest/folder/0007/.

কখনও কখনও * .লগ উপস্থিত থাকে না এবং এটি ঠিক আছে তবে rsync নিম্নলিখিত ত্রুটিটি উত্পন্ন করে:

receiving file list ... rsync: link_stat "/path/to/first/*.log" failed: No such file or directory (2)
done

দমন করার কোন উপায় আছে কি? আমি ভাবতে পারি একমাত্র উপায় হ'ল ফিল্টারগুলি অন্তর্ভুক্ত করা এবং বাদ দেওয়া, যা আমার কাছে কেবল পিআইটিএ বলে মনে হয়। ধন্যবাদ!

উত্তর:


10

আমি মনে করি প্রশ্নের উত্তরটি উত্তরে এই উত্তরে বর্ণিত হয়েছে:

https://stackoverflow.com/a/27637277/1236128

--ignore-missing-args

দুর্ভাগ্যক্রমে, কেবলমাত্র পরবর্তী সংস্করণগুলিতে এই কার্যকারিতা রয়েছে। আমি আরএসসিএনসিএল R.০.৯ সহ আরএইচইএল running চালাচ্ছি, যার কাছে এই বিকল্পটি মনে হয় না।


2

স্পষ্ট করতে, আপনি ঠিক ত্রুটিটি 'দেখতে না' চান? সে ক্ষেত্রে আপনি কেবল স্ট্যান্ডার্ড ত্রুটি আউটপুট পুনর্নির্দেশ করতে পারেন তবে আপনি আরও একটি গুরুতর ত্রুটি হারিয়ে যেতে পারেন যা আপনি জানতে চাইতে পারেন।

পুনর্নির্দেশ ত্রুটি আউটপুট উদাহরণ

rsync -a -v foo@machine.company.com:'/path/to/first/*.log path/to/second.txt' /dest/folder/0007/ 2>/dev/null

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

স্ক্রিপ্ট উদাহরণ

#!/bin/sh
# Script to Handle Rsync based on Log File Existence
if [ "$(ls -A /path/to/first/*.log > /dev/null > 2&1)" ]; then
     # Log Exists Use This Rsync
    rsync -a -v foo@machine.company.com:'/path/to/first/*.log path/to/second.txt' /dest/folder/0007/
else
    # Log Does Not Exist Use This Rsync
    rsync -a -v foo@machine.company.com:'path/to/second.txt' /dest/folder/0007/
fi

আমি কিছু সাহায্য ছিল আশা করি।

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