लिनक्स में किसी अन्य स्थान पर फ़ाइलों और उप फ़ोल्डरों को संग्रहीत करने के लिए - लिनक्स, खोल

मैं कॉपी करने के लिए एक खोल स्क्रिप्ट बनाने की कोशिश कर रहा हूँफ़ोल्डरों और फ़ाइलों को उन फ़ोल्डरों के भीतर एक लिनक्स मशीन से दूसरे लिनक्स मशीन तक। प्रतिलिपि बनाने के बाद मैं केवल कॉपी की गई फ़ाइलों को हटाना चाहता हूं। मैं फ़ोल्डर संरचना को बनाए रखना चाहता हूं।

उदाहरण के लिए।

मशीन एक्स में उपफोल्डर्स ए, बी, सी फ़ोल्डरों के साथ एफ नामक एक मुख्य फ़ोल्डर है जिसमें उनमें से प्रत्येक में 10 फाइलें हैं।

मैं इस तरह एक प्रतिलिपि बनाना चाहता हूंमशीन वाई में एफ नामक एक फ़ोल्डर होगा जिसमें उपफोल्डर्स ए, बी, सी समान फाइलें होंगी। एक बार सभी फ़ोल्डरों और फ़ाइलों की प्रतिलिपि पूरी हो जाने के बाद, इसे स्रोत फ़ोल्डर में सभी फ़ाइलों को हटा देना चाहिए, लेकिन फ़ोल्डर को बनाए रखना चाहिए।

उत्तर:

जवाब के लिए 0 № 1

नीचे दिया गया कोड अवांछित है। पहले देखभाल और बैकअप के साथ प्रयोग करें।

ऐसा कुछ आपको शुरू करना चाहिए:

#!/bin/bash

srcdir=...

set -ex

rsync 
--verbose 
--recursive 
"${srcdir}/" 
[email protected]:/dstdir/

find "${srcdir}" -type f -delete

ठीक srcdir परिवर्तनीय और स्वाद के लिए rsync करने के लिए दूरस्थ तर्क।

Rsync विकल्प सिर्फ स्मृति से हैं, इसलिए उन्हें tweaking की आवश्यकता हो सकती है। पढ़ना दस्तावेज़ीकरण, विशेष रूप से हटाने, बैकअप, अनुमतियों और लिंक के बारे में विकल्प।

(मैं जवाब नहीं दे रहा हूँ प्रशन अनुरोध कि कैसे नहीं प्रयास के संकेत, लेकिन मेरी उंगलियां खुजली थीं, इसलिए आप वहां जाते हैं।)


उत्तर № 2 के लिए -1

फ़ाइलों को स्कैन करें, एसपीपी के निकास कोड की जांच करें और फिर स्थानीय रूप से फ़ाइलों को हटा दें।

कुछ इस तरह scp files [email protected]:/path/ && rm files

यदि एसपीपी विफल हो गया है, तो कमांड का दूसरा भाग "निष्पादित नहीं हुआ


संबंधित सवाल
सबसे लोकप्रिय