2011-08-13 13 views
21

संभव डुप्लिकेट:
how to use ssh to run shell script on a remote machine?दूरस्थ ssh के माध्यम से पूर्ण आदेशों चल रहा है

मैं एक bash स्क्रिप्ट है कि मेरे दूरस्थ सर्वर के दैनिक क्रॉन नौकरियों पर चलता है स्वचालित रूप से करने के लिए ssh के माध्यम से प्रवेश करने के लिए कोशिश कर रहा हूँ एक और यूनिक्स बॉक्स, कुछ कमांड चलाएं और फिर छोड़ दें।

#!/bin/bash 
ssh machinehost.com -l admin -p 2222 "/usr/bin/find /share/Public/backups/set0 -mtime +14 | xargs rm -f; 
           /usr/bin/find /share/Public/backups/set1 -mtime +4 | xargs rm -f; 
           /usr/bin/find /share/Public/backups/set2 -mtime +3 | xargs rm -f; 
           /usr/bin/find /share/Public/backups/set3 -mtime +21 | xargs rm -f; 
           /usr/bin/find /share/Public/backups/set4 -mtime +2 | xargs rm -f; 
           /usr/bin/find /share/Public/backups/set5 -mtime +2 | xargs rm -f; 
           " 

समस्या मैं कर रहा हूँ मैं अपने वर्तमान मौजूदा कुछ थोड़ा और अधिक जटिल करने के लिए कोड रिमोट पर इस आदेश को चलाने के बारे में मैं कैसे जाना होगा

if [ $(ls /share/Public/backups/set1 -1 | wc -l) -gt 4 ] then run above command 
fi 

तरह प्रत्येक आदेश से पहले संशोधित करने की आवश्यकता है एसएसएच मशीन और मेरे स्थानीय क्रॉन पर नहीं?

+0

@Wooble दूसरा प्रश्न रिमोट कंप्यूटर पर शेल स्क्रिप्ट चलाने का एक तरीका मांग रहा था, जहां यह इस पोस्टर के लिए समस्या का समाधान है। मुझे लगता है कि सवाल काफी अलग है। – mopsled

उत्तर

3

एक स्क्रिप्ट लिखें, यह सिर्फ है कि स्क्रिप्ट दूरस्थ मशीन के लिए और ssh रन से नकल।

+0

यह वह तरीका है जिसका उपयोग मैं अपने सर्वर पर करता हूं। – djhaskin987

1

एक और कामकाज पायथन का उपयोग करना है। pexpect नामक एक मॉड्यूल है जो आपकी समस्या का समाधान कर सकता है, और यहां तक ​​कि अधिक जटिल परिदृश्य भी।

संबंधित मुद्दे