অন্যদিন আমার লিনাক্স সার্ভারের এক লোকেশন থেকে অন্য লোকেশনে অনেক ফাইল নিয়ে একটি ডিরেক্টরি মাইগ্রেট করতে হয়েছিল। এটি করার অনেক পদ্ধতি আছে। সিম্পল cp কমান্ড কাজ করতে পারত। কিন্তু যেহেতু আমি যে ডেটা কপি করছিলাম সেটি একটি ডাটাবেস এবং আমি চাচ্ছিলাম কপি করা একদম পারফেক্ট হোক, তাই ইন্টারনেটে খুঁজে একটি চমৎকার এক লাইনের ব্যাশ সমাধান পেলাম।
আমি ডিরেক্টরি /var/lib/mysql-এর কন্টেন্ট /opt/mysql-এ মুভ করতে চেয়েছিলাম। প্রথমে আমি ডিরেক্টরি /var/lib/mysql-এ চেঞ্জ করলাম:
# cd /var/lib/mysql
তারপর আমি নিচের এক লাইনার রান করলাম যেটি আমার জন্য জাদু করল।
# tar cf – * | ( cd /opt/mysql; tar xfp -)
আমি উপরের কমান্ডটি ব্যবহার করলাম আমার ডাটাবেস ফাইল কপি করার জন্য। এটি কী করে সেটি হলো এটি কারেন্ট ডিরেক্টরির পুরো কন্টেন্টকে একটি আর্কাইভ ফাইলে কম্বাইন করে, ডেস্টিনেশন ডিরেক্টরির লোকেশন (/opt/mysql এই কেসে) চেঞ্জ করে, এবং তারপর আর্কাইভটি এক্সট্রাক্ট করে। আগে বড় হওয়ার আগে, tar-র সাথে আপনি আরও কী কী করতে পারেন সেটি চেক আউট করুন :)