দূর থেকে ইউনিক্সে স্ক্রিপ্ট চালাবেন, স্থানীয়ভাবে আউটপুট পাবেন?


45

আমাকে একটি (স্থানীয়) উইন্ডোজ কমান্ড শেল থেকে একটি রিমোট ইউনিক্স মেশিনে একটি (টিসিএল, বা যাই হোক না কেন) স্ক্রিপ্ট চালানো দরকার এবং আমি চাই উইন্ডোজ সি এল এলিতে স্ক্রিপ্টের স্টাডআউট / স্টার্ডার প্রদর্শিত হোক। প্রস্থান কোডটিও কার্যকর হবে।

এটি কি ssh (পুটি) ব্যবহার করে সম্ভব? নাকি অন্য কোন উপায়ে?

ধন্যবাদ!

উত্তর:


44

এটি এসএসএইচের জন্য ডিফল্ট। আপনি যদি আউটপুটকে দূর থেকে পুনঃনির্দেশ করতে চান তবে কমান্ড কোটের ভিতরে পুনর্নির্দেশ প্রতীকটি (সাধারণত ">") রাখুন।

উদাহরণ স্বরূপ:

ssh remote_host "ls > /tmp/file_on_remote_host.txt"

স্থানীয়ভাবে উইন্ডোজ হোস্টে আউটপুট সংরক্ষণের জন্য,

ssh remote_host "ls" > .\file_on_local_host.txt

স্ট্ডারকে দূর থেকে একত্রিত করতে এবং এটিকে স্থানীয়ভাবে সংরক্ষণ এবং

ssh remote_host "ls 2>&1" > .\combined_output_on_local_host.txt

Putty.exe দিয়ে এটি করা কি সম্ভব? অর্থাৎ ডিফল্টের বিপরীতে একটি "সাধারণ" সিএলআই প্রোগ্রাম হিসাবে কাজ করে যা একটি টার্মিনাল অনুকরণ করে।
ক্রিসিটি ডায়াকোনসকু

আমি একটি উইন্ডোজ 2003 সিস্টেমে পুটি করেছি এবং হ্যাঁ, কমান্ড লাইন চালাচ্ছি। হোস্টটিতে তাদের সিস্টেম প্রশাসনের সরঞ্জামগুলি সমর্থন করার জন্য এইচপির এসএসএইচ সার্ভারের সংস্করণ ইনস্টল করা ছিল। রিমোট সিস্টেমে সমস্ত কিছু চলমানের চেয়ে আপনার যদি কেবল এসএসএইচ ক্লায়েন্ট থাকে।
কুমার্স

1
এটি একটি নন-উইন্ডোজ লোকাল মেশিনের জন্যও কাজ করে।
শিরি

ব্যাকস্ল্যাশ পথ বাদে হ্যাঁ।
কুমারশ

20

আমি যা খুঁজছিলাম তা হ'ল পুট্টির সাইড-কিক, প্লিংক.এক্সে । পুট্টির বিপরীতে, যা টার্মিনাল এমুলেটরের plinkমতো কাজ করে, একটি সাধারণ (অ-ইন্টারেক্টিভ) সি এল এল প্রোগ্রামের মতো কাজ করে।

এটি ব্যবহার করে, আমি এটি করতে পারি cmd.exeএবং স্থানীয়ভাবে রিমোট কমান্ড আউটপুট সংরক্ষণ করতে পারি ।

\> plink remote_host "ls -l" > log.txt

সর্বোপরি, এটি ssh পাশাপাশি টেলনেটের পক্ষেও কাজ করে !

কেবলমাত্র রেফারেন্সের উদ্দেশ্যে, এগুলি উপলভ্য বিকল্পগুলি:

PuTTY Link: command-line connection utility
Release 0.59
Usage: plink [options] [user@]host [command]
       ("host" can also be a PuTTY saved session name)
Options:
  -V        print version information and exit
  -pgpfp    print PGP key fingerprints and exit
  -v        show verbose messages
  -load sessname  Load settings from saved session
  -ssh -telnet -rlogin -raw
            force use of a particular protocol
  -P port   connect to specified port
  -l user   connect with specified username
  -batch    disable all interactive prompts
The following options only apply to SSH connections:
  -pw passw login with specified password
  -D [listen-IP:]listen-port
            Dynamic SOCKS-based port forwarding
  -L [listen-IP:]listen-port:host:port
            Forward local port to remote address
  -R [listen-IP:]listen-port:host:port
            Forward remote port to local address
  -X -x     enable / disable X11 forwarding
  -A -a     enable / disable agent forwarding
  -t -T     enable / disable pty allocation
  -1 -2     force use of particular protocol version
  -4 -6     force use of IPv4 or IPv6
  -C        enable compression
  -i key    private key file for authentication
  -noagent  disable use of Pageant
  -agent    enable use of Pageant
  -m file   read remote command(s) from file
  -s        remote command is an SSH subsystem (SSH-2 only)
  -N        don't start a shell/command (SSH-2 only)
  -nc host:port
            open tunnel in place of session (SSH-2 only)

3

হ্যাঁ আপনি যদি পুটি এসএস ক্লায়েন্ট ব্যবহার করেন তবে আপনার স্ক্রিপ্টটি যে কোনও কমান্ড লাইন আউটপুট তৈরি করবে তা দেখতে পাবেন। স্ক্রিপ্টটি চালানোর পরে প্রস্থান কোডটি পেতে টাইপ করুন:

echo $?

1

আপনার উইন্ডোজ মেশিনে লগ ফাইলটি পাওয়ার অন্যান্য উপায় হ'ল: - ইউনিক্স সিস্টেমে উইন্ডোজ এম / সি মাউন্ট (ইউএনআইএক্সের স্বাদের উপর নির্ভর করে এটি সাম্বা সার্ভার ব্যবহার করে সম্ভব হতে পারে) - যে কোনও দূরবর্তী ক্লায়েন্ট ব্যবহার করে উইন্ডো থেকে স্ক্রিপ্ট চালান - মাউন্ট করা ডিরেক্টরিতে স্ক্রিপ্ট লগইন করুন

উইন্ডোজের জন্য লেজের সমতুল্য UNIX পেলে আপনি আউটপুট সরাসরি দেখতে পাবেন ।


0

আরও একটি উত্তর:

আপনার সমস্ত লিনাক্স কমান্ডগুলি cmdlist.txt ফাইলে সংরক্ষণ করুন এবং নীচের কমান্ডটি ব্যবহার করুন।

plink.exe -ssh -pw passwd uname@1.2.3.4 output.txt

PASSWD == ডিভাইস লগ ইনের জন্য পাসওয়ার্ড

ডিভাইস লগইনের জন্য আনাম == ব্যবহারকারীর নাম

1.2.3.4 == ডিভাইসের আইপি ঠিকানা

এই কমান্ডটি কার্যকর করার পরে, আপনার সমস্ত cmdlist.txt কমান্ড দূরবর্তী ডিভাইসে কার্যকর করা হবে এবং আউটপুট.txt নামক ফাইলটিতে আউটপুট সংরক্ষণ করা হবে

একই ডিরেক্টরিতে plink.exe এবং cmdlist.txt রাখার বিষয়টি নিশ্চিত করুন এবং আপনি আপনার ডস প্রম্পটটিকে একই ডিরেক্টরিতে নির্দেশ করছেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.