ক্রোন মাধ্যমে rsync। আমি কীভাবে লগিং সক্ষম করব?


8

আমি আরএসসিএনসি ব্যবহার করে অন্য কম্পিউটারে রিমোট সার্ভারটি ব্যাক আপ করছি।

ক্রোন.ডেইলে আমার সাথে এই ফাইল রয়েছে:

rsync -avz -e ssh root@example.com:/ /mybackup/

এটি লগইন করতে একটি পাবলিক / প্রাইভেট কী জুড়ি ব্যবহার করে। এটি বেশিরভাগ সময় ভালভাবে কাজ করে বলে মনে হয়, আমি (বোকামি) কেবল কখনও গুরুত্বপূর্ণ কিছু ফাইলের (মাইএসকিউএল ডাম্প) তারিখগুলি দেখে যাচাই করেছিলাম যা আমি জানি প্রতিদিন পরিবর্তন হয়। স্পষ্টতই, এই ফাইলটির পরে একটি ত্রুটি ঘটতে পারে।

কখনও কখনও এটি ব্যর্থ হয়। আমি যখন এটি ম্যানুয়ালি চালিত করি তখন "ক্লায়েন্ট রিসেট" এর মতো কিছু ঘটে।

এটি লগ করার সর্বোত্তম উপায় কী তা যাতে আমি নিশ্চিত হয়ে যাচাই করতে পারি এটি সম্পন্ন হয়েছে কিনা? ক্রোন লগ কোনও ত্রুটি নির্দেশ করে না। আমি এটি চেষ্টা করে দেখিনি তবে ব্যাকআপ মেশিনে সেন্টোসের পুরানো সংস্করণে আরএসসিএন ম্যান পৃষ্ঠাটি - লগ-ফাইল বিকল্পটি দেখায় না। আমি অনুমান করি যে আমি stdout> এর সাথে পুনঃনির্দেশ করতে পারি তবে আমি প্রতিটি ফাইল সম্পর্কে সত্যই জানতে চাই না। আমি শুধু জানতে চাই যে এটি সব কাজ করেছে কি না ..

ধন্যবাদ

উত্তর:


13

আমি মনে করি আপনি ইতিমধ্যে আপনার নিজের প্রশ্নের সমাধান করেছেন। আপনি যদি স্টডআউট এবং স্ট্ডার উভয়ই কোনও ফাইলে পুনর্নির্দেশ করেন তবে আপনি প্রতিটি ফাইল আরএসসিএনসি স্থানান্তরের জন্য আউটপুট পাবেন না - এটি কেবল তখনই উত্পন্ন হয় যদি আপনি ভার্বোস ( -v) মোডে চলছেন । এর ডিফল্ট আচরণটি কেবল rsyncত্রুটির ক্ষেত্রে আউটপুট উত্পাদন করা। সুতরাং আপনি এটি করতে পারেন ...

rsync ... > /var/log/rsync.log 2>&1

... এবং সেই ফাইলটি পরীক্ষা করে দেখুন যে সর্বাধিক সাম্প্রতিক আরএসএনসি সফল হয়েছে কিনা। আমি স্পষ্টভাবে ব্যবহার করছি >, যা প্রতিবার চলার সাথে লগ ফাইলটি ওভাররাইট করে দেবে rsync

rsyncস্থানান্তর ব্যর্থ হওয়ার পরে আপনি শূন্য-নন কোডের সাথে প্রস্থান করে এমন বিষয়টি আপনিও নিতে পারেন , যাতে আপনি এরকম কিছু করতে পারেন:

rsync ... || echo "rsync failed" | mail -s 'rsync falied' you@example.com

ধন্যবাদ। আমি এক বার যেতে হবে। আমি ধরে নিয়েছি আমি লগের প্রতিটি ফাইল পেয়ে যাব কারণ আমি স্ক্রিনে যা দেখি তা যদি আমি ভার্বোস ছাড়াই ম্যানুয়ালি চেষ্টা করি। মেল জিনিসটি দেখতে ভাল লাগছে।
টেটরঞ্জ

আপনি যদি -vপতাকা ছাড়াই ম্যানুয়ালি rsync চালাচ্ছেন এবং আপনি এখনও প্রতি-ফাইল আউটপুট দেখতে পাচ্ছেন তবে কিছু সমস্যা আছে। আরএসএনসি ম্যান পেজটি বলে, "ডিফল্টরূপে, আরএসসিএনসি চুপচাপ কাজ করে A
প্রকাশিত ks

ওয়েল এটি অবশ্যই ঘটছে। -v ডিফল্ট হিসাবে মনে হয়। আপনার পরামর্শ অনুসারে আমি কেবল লগ পুনর্নির্দেশটি করেছি এবং লগের প্রতিটি ফাইলের জন্য একটি লাইন রয়েছে। আমি বলছি না আপনি ভুল বলেছেন। CentOS অবশ্যই আলাদাভাবে rsync সংকলন করেছে। আমি / proc এবং / sys এর জন্য বাদ দিয়েছি।
টেটরঞ্জ

আমি CentOS চালাচ্ছি, এবং rsync বর্ণিত হিসাবে আচরণ করে। আপনার কমান্ড লাইনটি আসলে কেমন দেখাচ্ছে?
larsks

1
দেখুন, আপনি ভার্বোজ মোডে চলছেন। তোমার একটা -vআছে।
16


1

সম্ভবত আপনি কমান্ডটি: লগার দ্বারা সিসলগ ব্যবহার করতে পারেন ।

আমি স্ক্রিপ্টগুলি এভাবে চালাচ্ছি:

rsync -v what user@host 2>&1 | logger -t backup

এটি /var/log/messagesডিফল্টরূপে লিখবে ।

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