nixp.ru v3.0

27 мая 2017,
суббота,
18:41:55 MSK

DevOps с компанией «Флант»
Аватар пользователя btfnix
btfnix написал 31 июля 2012 года в 17:14 (4604 просмотра) Ведет себя как благородный джентельмен; открыл 5 тем в форуме, оставил 1 комментарий на сайте.

Здравствуйте.

Есть убунту сервер 12.04

1. На нем самопичный скрипт создает бэкапы еждедневно в пять утра. Как сможно этот скрипт заставить копию бэкапа заливать на сторонний фтп сервер?

2. Как узнать, какие пользователи имеются в системе и как удалить лишних?

3. Как узнать, какие пользователи имеются в proftpd и как удалить лишних?

rgo

1. Скажем есть такой скрипт:

#!/bin/sh
# This UNIX shell script FTPs all the files in the input directory to a remote directory
# It uses a UNIX Shell "hear document" to read the commands to the FTP program from the shell file
# You have to use the -n option to the FTP command to disable the prompting for the password
# the quote in front of the ftp user and pass are also necessary to disable reading from stdin
# the prompt must be turned off for the multi-put to not prompt the user
LOCALDIR=mylocaldir
REMOTESERVER=remote.server
REMOTEPATH=/my/remote/path
LOGIN=myloginname
PASSWORD=mypassword
cd $LOCALDIR ftp -n $REMOTESERVER <<INPUT_END quote user $LOGIN quote pass $PASSWORD cd $REMOTEPATH prompt off mput *.* exit INPUT_END
Он складывает все файлы из $LOCALDIR на $REMOTESERVER в директорию $REMOTEPATH. Мне кажется, его несложно допилить под свои нужды. (цельнотянуто отсюда: http://datadictionary.blogspot.com/2006/08/unix-shell-script-to-transfer-files.html ) 2. awk -F : — '$2 ~ /[$].*/ {print $1}' </etc/shadow Можно просто глазами посмотреть в /etc/shadow: там поля разделяются двоеточиями, и если второе поле начинается с $ и огромно — значит это запись о пользователе, под которой потенциально можно войти. А удалять можно командой userdel: userdel -r USER_NAME. Если не сыкотна доверять такую работу скрипту, то можешь попробовать такое: cat /etc/shadow | awk -F : — '$2 ~ /[$].*/ && $1 != "root" {print $1}' | xargs userdel -r Удаляет всех с логинами, кроме рута. Но это without any warranty of any kind. Если там пользователей немного, лучше ручками. А если много, то лучше сложить список ненужных во временный файлик, повтыкать глазами, а потом скормить его userdel. 3. Ну это надо мануал на proftpd смотреть. Я в него не заглядывал лет пять, на память не помню. Но я бы, на твоём месте, с конфигурацией сервисов (особенно внешних) разобрался бы отдельно и по полной программе. То есть выискивая каждый конфиг и добиваясь полного понимания каждой строчки. Это я к тому, что пока ты будешь заниматься столько полезной деятельностью, ты по-любому найдёшь базу данных пользователей proftpd.
Saymon21

Зачем какие-то скрипты для заливки файлов на ftp сервер, и при наличии curlftpfs и ваще bacula, amanda.

rgo

Что значит «зачем»? Ставить fuse на сервер, грузить в серверное ядро лишний модуль — это по-моему перебор. Всего-то что нужно — раз в сутки заслать бекап на ftp сервер. А amanda с bacula — это серьёзные решения для серьёзных дяденек. Но вовсе не выбор для сервера, где бекапы делаются самописными скриптами. Я, скажем, как несерьёзный дяденька, предпочитаю rsync, потому, что знаком с ним, а про остальное лишь слышал, и ещё потому, что с подозрением отношусь ко всяческим сложным узкоспециализированным решениям. Но это мои личные заморочки, а здесь несколько иная ситуация: бекапы уже создаются, их надо лишь заслать на ftp сервер. А если всё это отламывать и приделывать взамен что-то другое — дык может проще тогда уж переустановить систему, и настроить всё по-своему?