Надішліть файл на FTP за допомогою однієї команди

Ми вже бачили, як підключитися до FTP-сервера і працювати з ним (або з його вмістом) через термінал, тобто без використання графічних додатків.

Цього разу я приношу вам плюс чи зайвий ... дозвольте пояснити.

Кілька років тому я залишив їх скрипт bash, який використовується для створення резервних копій (зберігає) дані із сервера. Сценарій скопіював низку папок (наприклад / etc /), експортував бази даних тощо ... та стиснув їх за допомогою пароля у файл .RAR або .7z (я зараз використовую 7z), єдиного, чого не вистачало сценарію - це можливість завантаження після цього стислий файл на якийсь FTP-сервер, таким чином збереження з сервера буде скопійовано в інше місце.

Цими днями я знову взявся за сценарій, щоб трохи його оптимізувати, вдосконалити, і очевидно з’явилася потреба в останньому, про що я згадав вам, завантаживши стислий архів на зовнішній FTP.

Як завантажити на FTP за допомогою однієї команди?

Мені потрібна була одна команда для підключення до FTP за допомогою імені користувача та пароля, і добре; завантажте файл у певну папку.

Програми терміналів, які дозволяють мені підключатися до FTP, вводити користувача та пароль та завантажувати файли, є багато, але ... що дозволяють мені робити все це в один рядок, з усіма параметрами, які вже вказані…. там питання.

Після перегляду 4 або 5… я подумав, га !! ... але воно існує витися

Завантажте на FTP із завитком

За допомогою завивки я можу робити нескінченну кількість речей, можливо, я можу робити те, що хочу ... і все!

За допомогою параметра -u я можу вказати ім'я користувача та пароль, а також за допомогою параметра -T я можу сказати йому завантажити файл і, нарешті, сказати йому, на який FTP і в яку папку я хочу його завантажити, в кінці я просто вкладаю повний шлях, більш-менш такий :

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

Це робить підключення до FTP 192.168.128.2 з користувачем користувач і пароль пароль і завантажте в папку SERVER_BACKUPS файл, який називається файл-резервна копія.7z

І готовий!

Просто так? ...

Звичайно, це може бути корисно і нам, і лише команді, однак, найкращий спосіб використовувати це із таким сценарієм, як ... той, про який я згадав раніше

А як щодо того сценарію, про який згадується?

Я вдосконалюю сценарій, особливо включаючи деякі запити чи пропозиції від користувачів.

  • Перше, що я хотів зробити, це саме те, що я щойно вам пояснив, за допомогою однієї команди, щоб мати можливість завантажити файл збереження на FTP.
  • Інша річ, яку мені рекомендував користувач, - це надіслати електронне повідомлення, коли резервна копія буде готова, для цього я можу використовувати sendmail O ООН зовнішній сценарій, Я бажаю використовувати sendmail. Деталь використання sendmail полягає в тому, що ви можете використовувати свій акаунт GMail (або будь-який інший) для надсилання електронного листа із шифруванням ... SSL та іншим.
  • Крім того, користувач рекомендував також, як більш динамічну форму сповіщення, повідомлення надсилатиме IM за допомогою XMPP або Hotmail GTalk (Live або щось подібне, я навіть не знаю, як це називається). Спочатку я спробую зробити це за допомогою GTalk, тому що для Hotmail мені довелося б пам’ятати чи десь підтримувати себе, щоб створити обліковий запис Hotmail, оскільки з такою кількістю змін, що має Microsoft, я навіть не уявляю, як це.
  • Іншим варіантом останнього буде використання сповіщень або повідомлень, які надсилаються Facebook або Twitter. Для Twitter ви можете використовувати Твідж тоді як для Facebook ви могли б скористатися fbcmd. Обидва додатки дозволяють мені взаємодіяти з цими соціальними мережами з терміналу.
  • Я також думаю перевірити цілісність sql, який я експортую, але це вже вимагає трохи більше часу :)

FTP-сервер

Кінець!

Ну, нічого більше додати ... наразі я беру кілька моїх сценаріїв, зроблених у Bash, щоб їх оптимізувати та вдосконалити, сподіваюся, це не займе багато часу, щоб принести новини 😀

привіт


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   барнараста - сказав він

    Чудовий проект,
    Я буду стежити за цим з великим інтересом.
    - Будь-яке повідомлення @, якщо сервер не працює або доставка не може бути здійснена?

    Надзвичайно приємно читати статті від любителів терміналів / консолей.

    1салу2

    1.    KZKG ^ Гаара - сказав він

      Задоволення моє 🙂

      Хороша ідея, щоб перевірити, чи працює FTP-сервер в мережі, а якщо ні, надішліть електронне повідомлення ... Я врахую це ^ _ ^

  2.   Мойсей Серрано - сказав він

    Я адаптував ваш сценарій резервного копіювання та адаптував проект, який дозволяє завантажувати остаточний файл у Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader) і надішліть електронне повідомлення в кінці за допомогою sendmail.

  3.   dhunter - сказав він

    Гаара, вам потрібно спробувати правильний інструмент для цього: lftp

    Він навіть підтримує дзеркальне відображення, синхронізація репо з FTP безцінна.

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

  4.   Хорхе - сказав він

    Дуже цікаво, що в красі цієї системи, ви можете отримати однаковий результат різними способами; Я покажу вам метод, за допомогою якого мені вдалося завантажити файли на ftp-сервер, він трохи сільський, але все ще працює:

    {
    ехо-пароль користувача користувача
    ехо-кошик
    ехо-запит
    echo cd / directory / from / server / ftp
    echo put file
    луна близько
    відлуння до побачення
    } | ftp -n server.ftp

    1.    KZKG ^ Гаара - сказав він

      OOOHHH цікаво, я не знав, що можна зробити так 😀
      Спасибі!

  5.   Сефірот - сказав він

    Інші способи, наприклад з wput:

    wput file_to_upload ftp: // КОРИСТУВАЧ: PASS@123.123.123.123: 21

    або для тих, хто віддає перевагу простоті сценарію, використовуючи старий telnet:

    ftp -n server_ip << EOF
    користувач анонімний test@test.cu
    надіслати FILE.txt
    вихід
    EOF

  6.   Ксавьє - сказав він

    Привіт, я новачок у Linux, і я не знаю інформатики - лише на рівні користувача - чи програмування, або чогось подібного, я практично не знаю про це. Я читав цю статтю і в кінці другого абзацу прочитав слово "місцезнаходження"; це слово неправильно використано, ви мали на увазі: місце, місце, місце, місце. Слово location означає щось інше, як RAE говорить "http://dle.rae.es/?id=NXeOXqS".