LinuxForum.Fans
Тема

Скриптик для начала.

Автор: Rassol2 45 сообщений 4064 просмотров
#251383
"Rassol2" написал:
Смысл в том что самих файлов с нужным расширением в каждой директории дето тысяча, но каждый день прибавляется дето по 10 новых файлов, и именно их нужно копировать.
"Fat-Zer" написал:
тогда при создании бекапа делаете touch backup/timestamp и в опциях параметрах find'а смотрите -anewer.
далее с помощью man'а сами додумаете?

Вместо этого я бы воспользовался опциями -mtime, -ctime команды find.

#251384
"Rassol2" написал:
когда я вводил точ мне выбивало напостой тач еппл бред одним словом.

Карму где-то испортили :D

#251398

может это наглость с моей стороны, но можно пример строки копирование с этим точ.
Я им не пользовался и не представляю как должна выглядеть подобная строка

#251400

Создаём временный файл с текущей отметкой времени

text

touch /tmp/file.tmp

...ждём :D
Копируем все файлы из директории DIR, которые появились после создания временного файла, в директорию NEW_DIR:

text

find DIR -newer /tmp/file.tmp -exec cp {} NEW_DIR \;
#251421
"Lupo Alberto" написал:
Внезапно — http://www.google.by/search?q=man+touch … nt=firefox

Еще более внезапно, гуглить не нужно: Wiki:ru_RU: touch

#251524

ок а теперь такой вопрос.
собрал я нужные мне файлы, и как мне их отправить в по фтп ?
Файлы лежат тут.

text
/home/rassol2/doc/test/beckup_bz

отправить мне нужно их в фтп.
подключаюсь

text
rassol2@rassol2:~$ ftp 11.222.333.444
Connected to 11.222.333.444.
220 ProFTPD 1.3.1 Server (debian) [::ffff:11.222.333.444]
Name (11.222.333.444:rassol2): dima
331 Password required for dima
Password:
230 User dima logged in
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

все соединился, а вот как теперь отправить файлы туда ? Дак и желательно не в корень фтп а в одну из директорий. У меня уже голова покипела от разгадки задачи.
В подключенном FTP соединении можно тоже лазить при помощи cd /
И предполагаю что строка копирования должна выглядеть примерно так

text
cp -ru beckup_bz ftp /sklad

Но ....

#251536

Я бы на твоём месте смонтировал FTP-сервер как-нибудь через fuse куда-нибудь в /temp, скопировал файлы обычными средствами, и отмонтировал в конце.

#251548

и как это сделать ?
Предложение нанотихнологий это хорошо осталось освоить их.

#251551
"Vascom" написал:
Я бы на твоём месте смонтировал FTP-сервер как-нибудь через fuse куда-нибудь в /temp, скопировал файлы обычными средствами, и отмонтировал в конце.

ИМХО глупая и костыльная затея...

если уж альтернативы рассматривать, то лучше scp.
ssh доступ ведь есть к серверу?

"Rassol2" написал:
все соединился, а вот как теперь отправить файлы туда ?
man ftp написал:

put local-file [remote-file]
Store a local file on the remote machine. If remote-file is left unspecified, the local file name is used
after processing according to any ntrans or nmap settings in naming the remote file. File transfer uses the
current settings for type, format, mode, and structure.
#251552

А не глупо заменять FTP на SCP, ведь постановка задачи так не стояла. Давайте тогда сразу webdav там поднимем, чего мучаться-то?

#251554

ИМХО глупая и костыльная затея...
если уж альтернативы рассматривать, то лучше scp.
ssh доступ ведь есть к серверу?

есть но его вообще не знаю как это в скрипт загнуть.

#251556

О тут легче вроде.

#251594

Разобрался с scp прикольная штука. Тока я не нашел переменную которая будет копировать данные на удаленные сервер без замены. :(

#251596
"Rassol2" написал:
Тока я не нашел переменную которая будет копировать данные на удаленные сервер без замены.

Не до конца понял, что именно вы хотите сделать.

#251599

Ну вот мне нужно передать файлы с одной машины на другую.
Но передавать без замены.
мне нужно передать file1 и если этот файл есть на удаленном сервере что бы его не перезаливало, просто проигнорировала.
как при копировании с колючем -u

#251602
"Rassol2" написал:
мне нужно передать file1 и если этот файл есть на удаленном сервере что бы его не перезаливало, просто проигнорировала.

Посмотрите rsync.

#251636

не хочется для такой мелочи ерзать еше и с rsync.
Я и так хотел одно, уже делаю совершенно другое.
не ужели нет возможности копировать без замены через scp это мелочи должны быть.

#251653

Предисловия
Я просто по приколу много переменных задал в начале, хотя это и даром не нужно было. Просто весило.
Я брал за основу свой кс клиент, просто не знал какие файлы мне не жалко копировать и де их много, но не много весит, а то ждать пока скрипт закончит работу скучно.

Собственно сам скрипт.

#!/bin/bash -x
# Серезный шаг Rassol2

# Переменные
dir1='/home/rassol2/doc/test/pd**0/cstrike'
dir2='/home/rassol2/doc/test/beckup_bz'
dir3='/home/rassol2/doc/test/beckup_bz/cstrike'
dir4='/home/o/'
scp_host='*********'
scp_port='***'
scp_user='o'


# Исполнение
# Сбор файлов
cp -ru $dir1 $dir2
# Копирование файлов на удаленный сервер. По scp
scp -P $scp_port -r $dir3 $scp_user@$scp_host:$dir4

sleep 7

И столкнулся с 2 пока что непонятными для меня вещами.
1. как добавить добавить в скрипт что бы он вел в пароль для начала копирования? Как максимум я узнал что все советуют юзать ключ.
2. а эту задачу вы уже слышали как копировать без замены по scp

PS. И как бы да по ключу передается. А хочется по паролю.

Войдите или зарегистрируйтесь, чтобы ответить.