LINUX.ORG.RU

изменение имени файла при заливке на ftp


0

0

Потребовалось мне заливать файлик на ftp по крону. Написал скриптик за 2 минуты:

#/bin/bash
FTPU="ftpuser" # логин ftp 
FTPP="ftppass" # пароль ftp
FTPS="server" # ftp сервер
FTPF="/data" # папка для заливки на ftp сервере
LOCALD="/upload/datafile.xml" # локальный путь к файлу который заливаем 
ncftpput -m -u $FTPU -p $FTPP $FTPS  $FTPF $LOCALD
файлик xml содержит в т.ч. дату и время получения данных <time>2010-05-20 07:49:25</time> Хотелось бы получать на сервере файл вида datafileYYYYMMDDHHMMSS.xml где YYYYMMDDHHMMSS хватаются из файла. Да, еще мне не нравится что логин и пасс хранятся в открытом виде. Может можно как-то переделать чтобы лежал файлик с правами 600?

Pterodaktil> дату и время получения данных <time>2010-05-20 07:49:25</time> Хотелось бы получать на сервере файл вида datafileYYYYMMDDHHMMSS.xml где YYYYMMDDHHMMSS хватаются из файла

не вопрос, делай.

Да, еще мне не нравится что логин и пасс хранятся в открытом виде. Может можно как-то переделать чтобы лежал файлик с правами 600?

Можно 700, но бОльшая проблема в том, что пароль светится по ps

/bin/ftp -i -n <<EOF 
open $DESTHOST 
user $USERNAME $PASSWORD 
cd upload_dir 
bin 
put $UPFILE 
quit 
EOF 
sdio ★★★★★
()
Ответ на: комментарий от sdio

Уточнение:
команда put может принимать два параметра, локальное имя файла и имя файла на FTP
--> put $UPFILE $NEWNAME

sdio ★★★★★
()
Ответ на: комментарий от Pterodaktil

Что? Как выдернуть дату?

awk -F'<time>|</time>' 'NF>1 {gsub("[: -]","",$2); print $2; exit}' file.xml

Ограничение: <time>2010-05-20 07:49:25</time> должно быть в одну строку.

sdio ★★★★★
()
Ответ на: комментарий от Pterodaktil

По фтп пароли всяко в открытом виде. Только, если туннелирование...

Viglim
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.