এসসিপি শুধুমাত্র সর্বশেষ ফাইল


0

আমি একটি দূরবর্তী ফোল্ডার থেকে এসসিপি ব্যবহার করে শুধুমাত্র সর্বশেষ ফাইল ডাউনলোড করতে চান। ফাইল বিন্যাসে হয় raw_201712282131.ubx যেখানে ফাইল ফাইলের তারিখ।

যদি আমি SSH এ এই কমান্ডটি করি তবে আমি সর্বশেষ ফাইলের নাম পেতে পারি:

find -name '*.ubx' | sort -V | tail -1

এসসিপি ব্যবহার করে শুধুমাত্র সর্বশেষ ফাইল ডাউনলোড কিভাবে?

উত্তর:


1

আপনি এটি চেষ্টা করতে পারেন এবং এটি কাজ করে দেখতে পারেন। এটি বিভিন্ন লিনাক্স (সেন্টস, উবুন্টু, ইত্যাদি ...) সার্ভারগুলিতে ম্যাকওসগুলিতে আমার জন্য সূক্ষ্ম কাজ করে:

RECENT=$(ssh someone@example.com ls -lrt /remote/path/ | awk '/.ubx/ { f=$NF }; END { print f }');
scp someone@example.com:/remote/path/${RECENT} /local/path/${RECENT};

প্রথম লাইন সম্প্রসারণ সঙ্গে সবচেয়ে সাম্প্রতিক ফাইল পায় .ubx এবং এটি বরাদ্দ করা $RECENT পরিবর্তনশীল।

পরবর্তী লাইন তারপর শুধুমাত্র এসসিপি কমান্ড চালায়। আপনি উভয় লাইনকে একত্রিত করে এটিকে "এক-লাইনার" এ তৈরি করতে পারেন:

RECENT=$(ssh someone@example.com ls -lrt /remote/path/ | awk '/.ubx/ { f=$NF }; END { print f }'); scp someone@example.com:/remote/path/${RECENT} /local/path/${RECENT};

এবং অবশ্যই - আপনি ব্যবহারকারী, হোস্টনাম জন্য ভেরিয়েবল সেট করতে পারে, /remote/path/ এবং /local/path/ এবং এটি শুধু একটি কমান্ডের সাথে চালানোর জন্য একটি বাশ স্ক্রিপ্ট ফাইলে রাখুন get_latest_ubx.sh তাই আপনি কমান্ড টাইপ মোকাবেলা করতে হবে না প্রতিটি কমান্ড যেমন আপনি এটি ব্যবহার করতে হবে।

#!/bin/bash

# Assign the variables.
USER='someone';
HOST='example.com';
LOCAL_PATH='/local/path/';
REMOTE_PATH='/remote/path/';

# Get the most recent `.ubx` file and assign it to `RECENT`.
RECENT=$(ssh ${USER}@${HOST} ls -lrt ${REMOTE_PATH} | awk '/.ubx/ { f=$NF }; END { print f }');

# Run the actual SCP command.
scp ${USER}@${HOST}:${REMOTE_PATH}${RECENT} ${LOCAL_PATH}${RECENT};

আমি সর্বশেষ ফাইল dl প্রয়োজন আমার মন পরিবর্তন আউট চালু করে।
bakalolo

@ বাকালোলো ওয়েল, যদি এই উত্তরটি আপনাকে কোন উপায়ে সাহায্য করে তবে অনুগ্রহ করে তা নিশ্চিত করুন। এবং যদি এটি আপনার সমস্যার সমাধান করে এমন উত্তরটি হয়, তবে দয়া করে এটির মতো পরীক্ষা করে দেখুন।
JakeGould
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.