2010-11-06 38 views
9

Ok vì vậy, tôi biết cách thực hiện việc này bằng lệnh tìm cp, nhưng không biết cách thực hiện điều khiển từ xa bằng scp.Tập lệnh Bash để quét tệp mới nhất trong thư mục trên máy chủ từ xa

Vì vậy, biết điều này:

scp -vp [email protected]:/target/location/ /destination/dir/. 

Đó thư mục đích sẽ là đầy đủ các bản sao lưu cơ sở dữ liệu, làm thế nào tôi có thể nói nó để tìm ra bản sao lưu mới nhất, và scp rằng tại địa phương?

Trả lời

9
remote_dir=/what/ever 
dst=remote-system.host.name.com 
scp $dst:`ssh $dst ls -1td $remote_dir/\* | head -1` /tmp/lastmod 
+1

Ok đó là nó! Cảm ơn – beatbreaker

1

Viết một kịch bản ở phía xa có sử dụng find để tìm nó và sau đó cat để gửi cho thiết bị xuất chuẩn, sau đó chạy:

ssh [email protected] runscript.sh > localcopy 
+0

Vì vậy, tôi làm một cái gì đó như thế này từ xa: ls -t | đầu -1 | mèo stdout sau đó tôi thực hiện nó tại địa phương với ssh tôi @ server runscript.sh> localcopy ... sau đó mèo localcopy thành một biến được sử dụng cho tên tập tin? – beatbreaker

+0

Không. Kịch bản trông giống như: "cat" $ (ls -t | head -n 1) "', và sau đó bản địa hoá sẽ có nội dung của tệp. –

+0

Humm dường như không cần cho con mèo, >> không có đầu ra. vì vậy ls -t/var/backup | head -n 1 – beatbreaker

Các vấn đề liên quan