मैं एक दूरस्थ सर्वर से एक निर्देशिका को एक नई निर्देशिका (IE सिर्फ नाम बदलकर) को किसी अन्य दूरस्थ सर्वर पर कॉपी करने के लिए scp का उपयोग कर रहा हूं जैसे:
scp -prq server1:dir1 server2:dir2
यह ठीक काम करता है यदि dir2 सर्वर 2 पर मौजूद नहीं है, यह dir2 नामक एक नई निर्देशिका बनाता है जिसमें dir1 से server1 सब कुछ शामिल है।
समस्या तब आती है जब dir2 पहले से ही server2 पर मौजूद है (नोट: मेरे पास पहले से यह जानने का कोई तरीका नहीं है या पहले से dir2 पर एक निष्कासन कर रहा है) - क्या होता है मुझे dir1 की एक प्रति मिलती है, जिसे dir1 कहा जाता है, dir2 में।
मुझे यकीन है कि कुछ बुनियादी है जो मुझे याद आ रही है, लेकिन मैं अभी इसे काम नहीं कर सकता।
किसी भी मदद की बहुत सराहना की!
सादर,
जाइल्स
ठीक है, मेरे पास 10 से कम प्रतिनिधि हैं और 8 घंटे इंतजार करने के लिए $ एड नहीं हो सकता है, इसलिए यहां मुझे क्या मिला है:
यहाँ एक स्क्रिप्ट है जो मेरे लिए काम करती है:
#!/bin/sh
echo "method 1"
scp -prq server1:dir1/* server2:dir2/ >/dev/null 2>&1
if [ "$?" -ne "0" ]; then
echo "failed ... trying method 2"
scp -prq server1:dir1 server2:dir2
fi
exit
फिर भी सुनिश्चित नहीं है कि एकल कमांड में यह कैसे किया जाए या हो सके तो भी।
चीयर्स @mindthemonkey, कभी-कभी बस एक ताजा दृष्टिकोण प्राप्त करने से रास्ते को इंगित करने में मदद मिल सकती है।
cd dir2
।