"स्पॉन" लिनक्स शेल कमांड का क्या अर्थ है? (Centos6)


5

मुझे यह जानने की आवश्यकता है कि क्रोन जॉब को कैसे सेटअप किया जाए जो स्वचालित रूप से दूरस्थ सर्वर से जुड़ता है और निर्देशिका को बदलता है और उस निर्देशिका की सभी फाइलें स्थानीय में प्राप्त करता है

मुझे लगता है कि मुझे sftp का उपयोग करना है, लेकिन मैंने कुछ शेल स्क्रिप्ट्स में "स्पॉन" नामक कुछ कमांड देखीं और मुझे भ्रम है कि यह क्या करेगा और इसके लिए क्या है?

spawn  sftp user@ipaddress
cd xxx/inbox
mget *

क्या यह कार्य दूरस्थ निर्देशिका को डाउनलोड करने के संदर्भ में होगा?


1
यह एक नई प्रक्रिया बनाता है: astro.virginia.edu/class/oconnell/astr511/idl_5.1_html/… मेरे पास वह आदेश भी नहीं है। आपको स्पॉन -v चलाना चाहिए; spawn -V spawn --version; स्पॉन - सॉसेज; स्पॉन - हेल्प; स्पॉन -एच; स्पॉन -हेल्प; स्पॉन मदद; आदमी स्पॉन करता है और देखता है कि क्या आप इस बारे में कोई जानकारी पा सकते हैं कि वास्तव में यह कमांड कहाँ से आती है। या कम से कम हमें बताएं कि आप किस ओएस पर हैं। यह जानना भी उपयोगी होगा कि आपने कौन से ftp क्लाइंट स्थापित किए हैं (ncftp, lftp, ftp, आदि) और यदि आपको उपयोगकर्ता नाम और पासवर्ड के साथ सर्वर के खिलाफ प्रमाणित करने की आवश्यकता है।
урослав Рахматуллин

कौन सा खोल है? क्या स्क्रिप्ट की पहली पंक्ति शुरू होती है #!? क्या आप हमें बता सकते हैं कि पहली पंक्ति में क्या है? क्या आपको यहां पर दिखाई गई लाइनें इस तरह मिलीं या आपने उन्हें कई स्रोतों से एक साथ रखा? स्पॉन कमांड एक उम्मीद की स्क्रिप्ट की कमांड की तरह दिखता है लेकिन निम्नलिखित दो कमांड्स sftp कमांड्स (जैसे sftp बैच) की तरह दिखता है।
पाबौक

क्या आपने आखिरकार क्रॉन जॉब सेटअप करने का प्रबंधन किया था?
पाबौक

नहीं वास्तव में मैं इसे अभी के लिए अमेज़न पर कर रहा हूँ, आपके उत्तर के लिए धन्यवाद मैं कोशिश करूँगा और देखूंगा कि .. धन्यवाद ..
user1179459

जवाबों:


5

आपके मामले में spawnसबसे शायद का एक आदेश है उम्मीद पटकथा भाषा जो इंटरैक्टिव कार्यक्रम के संचालन के स्वचालन की अनुमति देता है। ऐसे मामले spawnमें उम्मीद की स्क्रिप्ट से एक बाहरी आदेश चलता है। आपका स्क्रिप्ट उदाहरण एक शेबंग अनुक्रम (पहली पंक्ति से शुरू होने वाला #!) याद कर रहा है जो expectदुभाषिया को दर्शाता है और जैसे कि सीधे निष्पादित होने पर उम्मीद से व्याख्या नहीं की जाएगी।

Sftp के साथ पासवर्ड प्रमाणीकरण इंटरैक्टिव मोड तक सीमित है। इंटरैक्टिव मोड में sftp को नियंत्रित करने के लिए आप उदाहरण के लिए निम्नलिखित उम्मीद स्क्रिप्ट का उपयोग कर सकते हैं:

#!/usr/bin/env expect
set timeout 20    # max. 20 seconds waiting for the server response

set user username
set pass your-pass
set host the-host-address
set dir  server-dir

spawn sftp $user@$host
expect assword:

send "$pass\r"
expect sftp>

send "cd $dir\r"
expect sftp>

send "mget *\r"
expect sftp>

send "exit\r"
expect eof

एक अन्य संभावना सार्वजनिक कुंजी प्रमाणीकरण का उपयोग करना है जो अधिक सुरक्षित भी है ( प्रक्रिया देखें )। ऐसे मामले में आप सीधे बैच मोड में sftp का उपयोग कर सकते हैं:

#!/bin/sh
user=username
host=the-host-address
dir=server-dir

sftp -b - "$user@$host" <<+++EOF+++
cd "$dir"
mget *
exit
+++EOF+++
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.