persistent-sshfs cho Openclaw

persistent-sshfs là một tiện ích Openclaw Skills dựa trên Bash để thử lại các gắn kết SSHFS cho đến khi chúng kết nối, sau đó dựa vào kết nối lại sshfs để phục hồi khi mất kết nối tạm thời.

psyb0t
v1.0.6
Aug 2, 2026
0
778
0

Cài đặt & Tải xuống

1. ClawHub CLI

Cách nhanh nhất để cài đặt kỹ năng trực tiếp từ thư viện.

npx clawhub@latest install persistent-sshfs

2. Cài đặt Thủ công

Sao chép thư mục kỹ năng vào một trong những vị trí sau

Toàn cục
~/.openclaw/skills/
Không gian làm việc
<project>/skills/

Ưu tiên: Không gian làm việc > Cục bộ > Gói sẵn

3. Cài đặt Prompt

Sao chép prompt này vào OpenClaw để tự động cài đặt.

Giúp tôi cài đặt persistent-sshfs bằng Clawhub. Nếu Clawhub chưa

Bạn muốn tải xuống?

Nhận các tệp kỹ năng gốc dưới dạng lưu trữ ZIP.

persistent-sshfs là gì?

persistent-sshfs là một tiện ích Bash để kích hoạt các gắn kết SSHFS một cách đáng tin cậy trong môi trường mà mạng, VPN hoặc máy chủ từ xa có thể chưa sẵn sàng khi khởi động. Nó liên tục thử lại xác thực SSH dựa trên khóa cho mỗi gắn kết, sau đó gắn kết thư mục từ xa bằng sshfs -o reconnect khi có kết nối.

Thông tin Openclaw Skills này được thiết kế cho các nhà phát triển và vận hành cần gắn kết SSHFS có thể lặp lại, có thể lập kịch bản với một tệp gắn kết văn bản thuần đơn giản. Nó không phải là một watchdog giám sát trực tiếp; thay vào đó, nó sẽ thoát sau khi gắn kết thành công và được thiết kế để chạy lại định kỳ, giúp nó trở nên phù hợp với các quy trình phục hồi dựa trên cron hoặc systemd timer.

Trường hợp sử dụng persistent-sshfs

  • Gắn kết các thư mục phát triển, build hoặc sao lưu từ xa cục bộ qua SSHFS với khả năng tự động thử lại cho đến khi có thể kết nối tới máy chủ.
  • Kích hoạt gắn kết khi khởi động hoặc đăng nhập khi tính khả dụng của mạng, VPN hoặc SSH có thể bị chậm trễ.
  • Quản lý nhiều gắn kết SSHFS từ một tệp cấu hình văn bản thuần duy nhất.
  • Phục hồi các gắn kết sau khi mất kết nối tạm thời bằng cách sử dụng sshfs -o reconnect.
  • Chạy lại theo lịch trình để gắn kết lại bất kỳ thứ gì đã bị ngắt kết nối hoàn toàn mà không cần kiểm tra thủ công từng gắn kết.
  • Chuẩn hóa việc gắn kết dựa trên khóa SSH giữa các máy chủ và cổng mà không cần nhắc nhập mật khẩu.

Cách thức hoạt động của persistent-sshfs

  1. Bạn định nghĩa từng gắn kết trong một tệp văn bản thuần bằng định dạng local_dir:user@host:port:remote_dir.
  2. Kịch bản đọc tệp và khởi chạy một tiến trình chạy ngầm (worker) cho mỗi gắn kết.
  3. Mỗi worker liên tục kiểm tra xác thực SSH dựa trên khóa bằng cách sử dụng ssh -o BatchMode=yes -o PasswordAuthentication=no cho đến khi thành công.
  4. Sau khi xác thực thành công, worker sẽ gắn kết đường dẫn từ xa bằng sshfs -o reconnect.
  5. Sau khi xác nhận gắn kết đã hoạt động, worker sẽ thoát và tiến trình chính sẽ chờ tất cả các worker hoàn thành.
  6. Nếu một gắn kết bị ngắt kết nối sau đó và sshfs không thể phục hồi nó, biện pháp khắc phục được đề xuất là chạy lại kịch bản hoặc lập lịch chạy định kỳ bằng cron hoặc systemd timer.

Cài đặt persistent-sshfs

  1. Đảm bảo các tệp thực thi bắt buộc đã được cài đặt:
bash
sshfs
ssh
fusermount
  1. Tạo tệp gắn kết của bạn với mỗi mục trên một dòng:
/home/bob/mnt/build-box:[email protected]:22:/srv/build
/home/bob/mnt/backup-nas:[email protected]:2222:/volume1/backups
  1. Đảm bảo các khóa SSH của bạn đã hoạt động mà không cần tương tác. Skill này từ chối xác thực bằng mật khẩu và chỉ chấp nhận xác thực dựa trên khóa.

  2. Chạy kịch bản đối với tệp gắn kết của bạn:

persistent-sshfs mounts.txt
  1. Để duy trì tính liên tục sau khi khởi động lại hoặc khi các gắn kết bị lỗi hoàn toàn, hãy lên lịch chạy lại định kỳ bằng cron hoặc systemd timer để Openclaw Skills có thể gắn kết lại bất kỳ thứ gì hiện đang bị ngắt kết nối.

  2. Nếu tiến trình bị gián đoạn một cách bình thường bằng SIGINT hoặc SIGTERM, nó sẽ ngắt gắn kết và dừng các worker. Nếu nó bị dừng đột ngột bằng SIGKILL, hãy dọn dẹp thủ công các gắn kết còn treo:

mount | grep fuse.sshfs
fusermount -u /path/to/mount

Lược đồ dữ liệu & Hệ thống phân loại của persistent-sshfs

Skill này sử dụng một schema tối giản, dựa trên tệp và không có cấu hình YAML hoặc JSON.

Trường Định dạng Mục đích
local_dir đường dẫn hệ thống tệp cục bộ Điểm gắn kết cục bộ; được tạo bằng mkdir -p nếu bị thiếu
user@host đích SSH Điểm cuối SSH từ xa được truyền tới ssh và sshfs
port số nguyên/chuỗi Cổng SSH được sử dụng để kết nối và gắn kết
remote_dir đường dẫn hệ thống tệp từ xa Thư mục trên máy chủ từ xa để hiển thị cục bộ

Quy tắc tệp gắn kết:

  • Một gắn kết trên mỗi dòng.
  • Cấu trúc phân tách bằng dấu hai chấm: local_dir:user@host:port:remote_dir.
  • Các dòng trống hoặc bị lỗi định dạng không được xử lý đặc biệt, do đó tệp nên được giữ sạch sẽ.

Hành vi thời gian chạy:

  • Một tiến trình worker cho mỗi gắn kết.
  • Các worker thử lại xác thực sau mỗi 10 giây cho đến khi SSH dựa trên khóa thành công.
  • Các gắn kết sử dụng sshfs -o reconnect để phục hồi mạng tạm thời.
  • Tiến trình thoát thành công sau khi tất cả các gắn kết đã hoạt động; nó không hoạt động như một daemon vĩnh viễn.

Siêu dữ liệu hoạt động:

  • Mức nhật ký mặc định: INFO
  • Ghi đè độ chi tiết được hỗ trợ: LOG_LEVEL=DEBUG|INFO|ERROR
  • Bẫy dọn dẹp (cleanup trap): ngắt các gắn kết đang hoạt động và dừng các worker khi tắt máy bình thường.

Tính năng Nâng cao của persistent-sshfs

  • Các worker chạy ngầm cho mỗi gắn kết cho phép nhiều mục tiêu SSHFS được kích hoạt song song.
  • Vòng lặp thử lại vô hạn cho xác thực SSH dựa trên khóa ban đầu, lý tưởng cho các quy trình khởi động và phụ thuộc vào VPN.
  • Sử dụng sshfs -o reconnect để duy trì qua các lần mất kết nối mạng tạm thời mà không cần logic kết nối lại tùy chỉnh.
  • Bẫy tắt máy bình thường xử lý SIGINT và SIGTERM bằng cách ngắt gắn kết và dừng các worker.
  • Được thiết kế để chạy lại định kỳ, cho phép phục hồi dựa trên cron hoặc systemd timer đối với các gắn kết đã bị hỏng hoàn toàn.
  • Tệp gắn kết văn bản thuần đơn giản giúp dễ dàng tạo, quản lý phiên bản hoặc tạo khuôn mẫu cho các định nghĩa gắn kết trong các quy trình tự động hóa.

SKILL.md


Đang tải

Các kỹ năng Openclaw liên quan

METADATA

Requires
Bins sshfsbash
Github Stars: 0
forks: 0

Đặc sắc*