Ми вже бачили, як підключитися до 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, який я експортую, але це вже вимагає трохи більше часу :)
Кінець!
Ну, нічого більше додати ... наразі я беру кілька моїх сценаріїв, зроблених у Bash, щоб їх оптимізувати та вдосконалити, сподіваюся, це не займе багато часу, щоб принести новини 😀
привіт
Чудовий проект,
Я буду стежити за цим з великим інтересом.
- Будь-яке повідомлення @, якщо сервер не працює або доставка не може бути здійснена?
Надзвичайно приємно читати статті від любителів терміналів / консолей.
1салу2
Задоволення моє 🙂
Хороша ідея, щоб перевірити, чи працює FTP-сервер в мережі, а якщо ні, надішліть електронне повідомлення ... Я врахую це ^ _ ^
Я адаптував ваш сценарій резервного копіювання та адаптував проект, який дозволяє завантажувати остаточний файл у Dropbox (https://github.com/andreafabrizi/Dropbox-Uploader) і надішліть електронне повідомлення в кінці за допомогою sendmail.
Гаара, вам потрібно спробувати правильний інструмент для цього: lftp
Він навіть підтримує дзеркальне відображення, синхронізація репо з FTP безцінна.
http://www.cyberciti.biz/faq/lftp-mirror-example/
Дуже цікаво, що в красі цієї системи, ви можете отримати однаковий результат різними способами; Я покажу вам метод, за допомогою якого мені вдалося завантажити файли на ftp-сервер, він трохи сільський, але все ще працює:
{
ехо-пароль користувача користувача
ехо-кошик
ехо-запит
echo cd / directory / from / server / ftp
echo put file
луна близько
відлуння до побачення
} | ftp -n server.ftp
OOOHHH цікаво, я не знав, що можна зробити так 😀
Спасибі!
Інші способи, наприклад з wput:
wput file_to_upload ftp: // КОРИСТУВАЧ: PASS@123.123.123.123: 21
або для тих, хто віддає перевагу простоті сценарію, використовуючи старий telnet:
ftp -n server_ip << EOF
користувач анонімний test@test.cu
надіслати FILE.txt
вихід
EOF
Привіт, я новачок у Linux, і я не знаю інформатики - лише на рівні користувача - чи програмування, або чогось подібного, я практично не знаю про це. Я читав цю статтю і в кінці другого абзацу прочитав слово "місцезнаходження"; це слово неправильно використано, ви мали на увазі: місце, місце, місце, місце. Слово location означає щось інше, як RAE говорить "http://dle.rae.es/?id=NXeOXqS".