rsync
অতীতেও আমি এর মুখোমুখি হয়েছি । সমাধানটি এটি আমার জন্য স্থির করে এটি একটি screen
অধিবেশন থেকেই চলছিল যা দূরবর্তী সার্ভারের সাথে সংযোগ বজায় রাখতে সহায়তা করতে সক্ষম হয়েছিল।
screen -LS rsync
[execute your rsync command]
Ctrl-A+D to detach from the session
আপনি চালিয়ে স্ট্যাটাসটি যাচাই করতে পারেন screen -x rsync
(বা আপনি যদি নামটি দিয়ে থাকেন তবে সেশনটির নামকরণের সিদ্ধান্ত নেওয়ার জন্য যা কিছু প্রয়োজন তা নয়)। এটি আপনার বর্তমান শেলটি সেই সেশনে পুনরায় সংযুক্ত করবে। আপনি স্থিতিটি যাচাই করার পরে আবার এটি থেকে আলাদা হওয়া মনে রাখবেন যাতে এটি পটভূমিতে চলতে থাকে।
আপনি কোনও screen
ব্যর্থতার মধ্যে ব্যাকগ্রাউন্ডে চলার জন্য কমান্ডটি কার্যকর করতে পারেন [কেউ যদি আমার ভুল হয় তবে আমাকে সংশোধন করুন] screen -dm 'command'
। আপনি man screen
শেষটি চেষ্টা করার আগে চাইবেন ।
সম্পাদনা করুন:
আমি আমার উত্তরটি সম্পাদনা করছি কারণ আপনি নিশ্চিত করেছেন যে এই screen
দৃশ্যে কোনও সহায়তা দেয় না, তবে আপনি আমার মন্তব্যে জবাব দিয়েছিলেন যে আপনি scp
কী ধরণের ফলাফল পাচ্ছেন তা দেখার এবং দেখার জন্য পরামর্শ দিয়েছিলেন, যার প্রতিক্রিয়া আপনি অদ্ভূতভাবে যথেষ্ট বলেছিলেন, এটি ঠিক কাজ করেছে।
: তাই আমার নতুন উত্তর এই হল ব্যবহার scp
- অথবা ssh
(সঙ্গে tar
) - পরিবর্তেrsync
মঞ্জুর, scp
যেমন বৈশিষ্ট্য সুবিশাল সংখ্যা সমর্থন করে না rsync
, কিন্তু আপনি আসলে ঠিক কত বৈশিষ্ট্য আবিষ্কার করতে এটি অবাক হবো না সমর্থন করে প্রায় হয় অভিন্ন যে rsync
।
এর জন্য বাস্তব বিশ্বের পরিস্থিতি scp
এবং এর অন্যান্য বিকল্প rsync
:
কিছুক্ষণ আগে, আমাকে শেল স্ক্রিপ্ট তৈরি করার দায়িত্ব দেওয়া হয়েছিল যা আমাদের প্রোডাকশন সার্ভার থেকে লগগুলি টানতে পারে এবং এগুলি স্থানীয়ভাবে একটি ওয়েব সার্ভারে সংরক্ষণ করতে পারে যাতে সমস্যা সমাধানের উদ্দেশ্যে ডেভেলপাররা তাদের অ্যাক্সেস করতে পারে। ইউনিক্স টিমকে rsync
আমাদের সার্ভারে ইনস্টল করার জন্য ব্যর্থ চেষ্টা করার পরে , আমি scp
ঠিক সেইভাবে কাজ করে ব্যবহার করে কাজটি করতে এসেছি ।
বলা হচ্ছে, আমি সম্প্রতি স্ক্রিপ্টটি সংশোধন করেছি যাতে এটি ব্যবহার করা সমস্ত হ'ল ssh
এবং tar
- GNU tar
/ gtar
, যথার্থ হয়। গনুহ tar
অপশনের অনেক আসলে আপনি পাবেন সমর্থন rsync
যেমন --include
, --exclude
অনুমতি / অ্যাট্রিবিউট সংরক্ষণ, কম্প্রেশন, ইত্যাদি
আমি এখন যেভাবে এটি সম্পাদন করছি তা হ'ল ssh
রিমোট সার্ভারে (পাবকি আথের মাধ্যমে) এবং ব্যবহার করে gtar -czf - [other options such as --include='*.log' and --exclude='*core*', etc.]
- এটি সমস্ত তথ্য লিখে দেয় stdout
, যা পরে [স্থানীয়ভাবে] পাইপ করা হয় tar -xzf
যাতে রিমোট প্রোডাকশন সার্ভারে কোনও পরিবর্তন না ঘটে are , এবং টানা সমস্ত ফাইল স্থানীয় সার্ভারে রয়েছে। এটি rsync
এই ক্ষেত্রে একটি দুর্দান্ত বিকল্প । একমাত্র গুরুত্বপূর্ণ বিষয় tar
বা scp
সমর্থন না হ'ল ইনক্রিমেন্টাল ব্যাকআপ এবং সেই rsync
বৈশিষ্ট্যগুলি পরীক্ষা করে ব্লক-স্তরের ত্রুটির স্তর ।
আমি সম্পূর্ণ কমান্ডটি ব্যবহার করার সময় উল্লেখ করছি ssh
এবং tar
এটি এমন কিছু হবে (রিমোটটি সোলারিস 10; স্থানীয় হ'ল দেবিয়ান, যার মূল্য রয়েছে):
cd /var/www/remotelogs
ssh -C user@remotehost "cd /path/to/remote/app.directories; gtar -czf - --include='*.log' --exclude='*.pid' --exlude='*core*' *" | tar -xz
আপনার দৃশ্যে এটি বিপরীত হবে - tar -cf -
স্থানীয়ভাবে, এবং মাধ্যমে রিমোট সার্ভারের পাইপ ssh user@remotehost "tar -xf -"
- এর আরও একটি উত্তর রয়েছে যা এই ধরণের আচরণের উল্লেখ করে তবে তত বেশি বিশদে যায় না।
জিনিসগুলি গতি বাড়ানোর জন্য আমি আরও কয়েকটি অপশন যুক্ত করেছি। মৃত্যুদন্ড কার্যকর করার সময়টি যতটা সম্ভব কম পেতে আমি নিরলসভাবে সবকিছুকে সময় দিয়েছি। আপনি মনে করেন যে সাথে সংক্ষেপণ ব্যবহার করেtar
অর্থহীন হবে, তবে এটি আসলে কিছুটা গতি বাড়িয়ে তোলে, ঠিক তেমনভাবে সংক্ষেপণ সক্ষম করতে -C
পতাকা ব্যবহার করে । আমি যে পোস্টটি ব্যবহার করি (যেটি আমি পোস্ট করেছি তার সাথে খুব মিল) আমি এই পোস্টটি পরবর্তী সময়ে আপডেট করতে পারি তবে এই সপ্তাহে অবকাশে থাকায় এই মুহুর্তে ভিপিএন-তে উঠতে আমার মনে হয় না।ssh
ssh
সোলারিস 10 এ, আমি এটিও ব্যবহার করি -c blowfish
, কারণ এটি দ্রুততম সিফারটি দিয়ে প্রমাণীকরণ করা এবং জিনিসগুলিকে বাচ্চার গতি বাড়িয়ে তুলতে সহায়তা করে তবে আমাদের সোলারিস 11 হয় এটি সমর্থন করে না বা এই সাইফার স্যুটটি অক্ষম করেছে।
তদ্ব্যতীত, আপনি যদি ssh
/ tar
বিকল্পের সাথে যেতে বেছে নেন তবে আমার ব্যবহারের মূল সমাধানটি বাস্তবায়িত করার পক্ষে এটি আসলে একটি ভাল ধারণাscreen
ব্যাকআপের জন্য কিছুটা সময় নিতে চান তবে । যদি তা না হয় তবে নিশ্চিত হয়ে নিন যে আপনার ক্যাপালাইভ / টাইমআউট সেটিংস আপনার ssh_config
ঠিক ঠিক টুইট করেছে, বা এই পদ্ধতিটি খুব সম্ভবত ভাঙা পাইপের কারণ হতে পারে।
এমনকি যদি আপনি যান তবে scp
আমি সর্বদা এটি ব্যবহার করার পক্ষে screen
বা tmux
এই ধরণের কোনও অপারেশন করার সময় এটি কেবল সেরা ক্ষেত্রে অনুভব করি । অনেক সময় আমি আমার নিজের পরামর্শ অনুসরণ করি না এবং এটি করতে ব্যর্থ হই, তবে আপনার সক্রিয় শেল সেশনটি কোনওভাবে সংযোগ বিচ্ছিন্ন হওয়ার কারণে দূরবর্তী কাজটি ত্রুটিযুক্ত না হয় তা নিশ্চিত করার জন্য এই সরঞ্জামগুলির মধ্যে একটি ব্যবহার করা সত্যিই একটি ভাল অনুশীলন।
আমি জানি আপনি আপনার rsync
সমস্যার মূল কারণটি বের করতে চান । যাইহোক, যদি এটি সত্যিই গুরুত্বপূর্ণ হয় তবে এগুলি দুটি দুর্দান্ত কাজের ক্ষেত্র যা এর মধ্যে আপনি পরীক্ষা করতে পারবেন can
kerberos
রিমোট সার্ভারে প্রমাণীকরণ করতে ব্যবহার করি ।