Gửi tệp tới FTP bằng một lệnh duy nhất

Chúng ta đã biết cách kết nối với máy chủ FTP và làm việc với nó (hoặc nội dung của nó) thông qua thiết bị đầu cuối, tức là mà không cần sử dụng các ứng dụng đồ họa.

Lần này tôi mang lại cho bạn một điểm cộng hoặc một phần phụ ... để tôi giải thích.

Vài năm trước tôi đã bỏ chúng một tập lệnh bash được sử dụng để sao lưu (tiết kiệm) dữ liệu từ máy chủ. Tập lệnh đã sao chép một loạt thư mục (như / etc /), cơ sở dữ liệu đã xuất, v.v. và nén nó bằng mật khẩu thành tệp .RAR hoặc .7z (tôi hiện đang sử dụng 7z), điều duy nhất mà tập lệnh thiếu là có thể tải lên sau đó tệp nén đó đến một máy chủ FTP nào đó, theo cách này, bản lưu từ máy chủ sẽ được sao chép sang một vị trí khác.

Những ngày này, tôi đã lên kịch bản để tối ưu hóa nó một chút, cải thiện nó và rõ ràng là điều cuối cùng mà tôi đã đề cập với bạn đã xuất hiện, đó là tải tệp nén đã nén lên FTP bên ngoài.

Làm cách nào để tải lên FTP chỉ bằng một lệnh?

Những gì tôi cần là thông qua một lệnh duy nhất để kết nối với FTP bằng tên người dùng và mật khẩu, và tốt; tải tệp lên một thư mục cụ thể.

Có rất nhiều ứng dụng đầu cuối cho phép tôi kết nối với FTP, đặt người dùng & mật khẩu và tải lên tệp, nhưng… cho phép tôi thực hiện tất cả trong một dòng, với tất cả các thông số đã được chỉ định…. này có câu hỏi.

Sau khi xem xét 4 hoặc 5 ... Tôi nghĩ, huh !! ... nhưng nó tồn tại quăn lại

Tải lên FTP với cuộn tròn

Với cuộn tóc, tôi có thể làm vô số việc, có lẽ tôi có thể làm những gì tôi muốn… và thế là xong!

Với tham số -u, tôi có thể chỉ định người dùng và mật khẩu, cũng với tham số -T, tôi có thể yêu cầu nó tải lên một tệp, và cuối cùng để cho nó biết FTP nào và thư mục nào tôi muốn tải nó lên, cuối cùng tôi chỉ đặt đường dẫn đầy đủ, nhiều hơn hoặc ít hơn như thế này:

curl -u usuario:password -T archivo-backup.7z ftp://192.168.128.2/SERVER_BACKUPS/

Điều này làm là kết nối với FTP 192.168.128.2, với người dùng người sử dụng và mật khẩu mật khẩu và tải lên thư mục MÁY CHỦ_BACKUPS tập tin được gọi là file-backup.7z

Và sẵn sàng!

Đơn giản phải không? ...

Tất nhiên, điều này có thể hữu ích đối với chúng ta cũng như chỉ riêng lệnh, tuy nhiên, cách tốt nhất để sử dụng nó là với một tập lệnh chẳng hạn như ... cái mà tôi đã đề cập trước đây

Và những gì về kịch bản đó được đề cập?

Tôi đang cải tiến tập lệnh, đặc biệt là kết hợp một số yêu cầu hoặc đề xuất từ ​​người dùng.

  • Điều đầu tiên tôi muốn làm chính là điều mà tôi vừa giải thích cho bạn, với một lệnh duy nhất để có thể tải tệp lưu lên FTP.
  • Điều khác mà một người dùng đề xuất cho tôi là gửi email khi bản sao lưu đã sẵn sàng để tôi có thể sử dụng gửi thư hoặc một kịch bản bên ngoài, Tôi sẽ thích sử dụng sendmail hơn. Chi tiết của việc sử dụng sendmail là bạn có thể sử dụng tài khoản GMail của mình (hoặc bất kỳ tài khoản nào khác) để gửi email, với mã hóa ... SSL và bất cứ thứ gì.
  • Ngoài ra, một người dùng cũng khuyến nghị rằng, như một hình thức thông báo năng động hơn, một tin nhắn được gửi bằng IM sử dụng XMPP của GTalk hoặc Hotmail (Trực tiếp hoặc thứ gì đó tương tự, tôi thậm chí không biết nó được gọi là gì). Tôi sẽ cố gắng làm điều đó với GTalk trước, vì đối với Hotmail, tôi sẽ phải nhớ hoặc hỗ trợ mình ở đâu đó để tạo tài khoản Hotmail, bởi vì với quá nhiều thay đổi mà Microsoft có, không biết nó như thế nào.
  • Một biến thể khác của cái sau sẽ là sử dụng thông báo hoặc tin nhắn được gửi bởi Facebook hoặc Twitter. Đối với Twitter, bạn có thể sử dụng cành cây trong khi đối với Facebook, bạn có thể sử dụng fbcmd. Cả hai ứng dụng đều cho phép tôi tương tác với các mạng xã hội này từ thiết bị đầu cuối.
  • Tôi cũng đang nghĩ đến việc kiểm tra tính toàn vẹn của sql mà tôi xuất, nhưng điều này đã đòi hỏi thêm một chút thời gian :)

máy chủ fTP

Kết thúc!

Chà, không cần thêm gì nữa ... hiện tại, tôi đang xem xét một số kịch bản của mình được thực hiện bằng Bash để tối ưu hóa và cải thiện chúng, tôi hy vọng sẽ không mất quá nhiều thời gian để đưa tin 😀

Liên quan


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   chuồng ngựa dijo

    Dự án tuyệt vời,
    Tôi sẽ theo dõi nó với sự quan tâm lớn.
    - Có bất kỳ thông báo nào @ nếu máy chủ không hoạt động hoặc không thể giao hàng không?

    Thật thú vị khi đọc các bài báo từ những người yêu thích thiết bị đầu cuối / bảng điều khiển.

    1hello2

    1.    KZKG ^ Gaara dijo

      Niềm vui là của tôi 🙂

      Ý kiến ​​hay, để xác minh xem máy chủ FTP có trực tuyến hay không và nếu không, hãy gửi email ... Tôi sẽ xem xét nó ^ _ ^

  2.   Moses Serrano dijo

    Tôi đã điều chỉnh tập lệnh sao lưu của bạn và điều chỉnh một dự án cho phép bạn tải tệp cuối cùng lên Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader) và gửi một email ở cuối bằng sendmail.

  3.   thợ săn dijo

    Gaara bạn phải thử công cụ phù hợp cho việc này: lftp

    Nó thậm chí còn hỗ trợ phản chiếu, để đồng bộ hóa repo từ ftp là vô giá.

    http://www.cyberciti.biz/faq/lftp-mirror-example/

  4.   Jorge dijo

    Rất thú vị, đó là vẻ đẹp của hệ thống này, bạn có thể nhận được cùng một kết quả theo nhiều cách; Tôi chỉ cho bạn phương pháp mà tôi đang quản lý để tải tệp lên máy chủ ftp, nó hơi mộc mạc nhưng nó vẫn hoạt động:

    {
    echo mật khẩu người dùng của người dùng
    thùng echo
    tiếng vang nhắc nhở
    echo cd / directory / from / server / ftp
    echo đặt tập tin
    vọng lại gần
    echo tạm biệt
    } | ftp -n server.ftp

    1.    KZKG ^ Gaara dijo

      OOOHHH thật thú vị, tôi không biết có thể làm được gì như thế này 😀
      Cảm ơn bạn!

  5.   Sephiroth dijo

    Các cách khác, ví dụ với wput:

    wput file_to_upload ftp: // NGƯỜI DÙNG: PASS@123.123.123.123: 21

    hoặc đối với những người thích sự đơn giản trong kịch bản sử dụng telnet cũ:

    ftp -n server_ip << EOF
    người dùng ẩn danh test@test.cu
    gửi FILE.txt
    ra
    EOF

  6.   Xavier dijo

    Xin chào, tôi là người mới bắt đầu sử dụng Linux và tôi không biết khoa học máy tính - chỉ ở cấp độ người dùng - hoặc lập trình, hoặc bất cứ điều gì tương tự, tôi thực tế không biết gì về điều này. Tôi đang đọc bài báo này và tôi đọc ở cuối đoạn thứ hai từ "địa điểm"; Từ đó được sử dụng sai, bạn có nghĩa là: vị trí, vị trí, vị trí, địa điểm. Từ vị trí có nghĩa khác như RAE nói "http://dle.rae.es/?id=NXeOXqS".