Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Другие языки > bash


Автор: AVTOGRAD 17.2.2018, 14:17
Есть скрипт резервного копирования bash

Код

#!/bin/sh
DATE=`date +%d.%m.%Y-%H.%M`
LOCAL_BACKUP_DIR="/home/tst/backup/mysql"
DB_USER="test_user"
DB_PASSWORD="xxxxxxxxx"
FTP_UPLOAD_DIR="/"
FTP_SERVER="xxxxxxxxxx"
FTP_USERNAME="user_ftp"
FTP_PASSWORD="xxxxxxxxxx"
############### Local Backup ########################
mysqldump -A -u $DB_USER -p$DB_PASSWORD $DB_NAME | gzip > $LOCAL_BACKUP_DIR/$DATE.sql.gz
############### UPLOAD to FTP Server ################
ftp -n $FTP_SERVER << EndFTP
user "$FTP_USERNAME" "$FTP_PASSWORD"
binary
hash
cd $FTP_UPLOAD_DIR
mkdir `date +%d%m`
cd `date +%d%m`
#pwd
lcd $LOCAL_BACKUP_DIR
put "$DATE.sql.gz"
bye
EndFTP
if test $? = 0
then
echo "Database Successfully Uploaded to Ftp Server
File Name $DATE.sql.gz "
else
echo "Error in database Upload to Ftp Server"
fi


Скрипт создает backup локально нормально, но при копировании на ftp создается пустой файл (файл нулевого размера),почему никак не могу разобраться, где копать ? Помогите!

Автор: _zorn_ 23.2.2018, 18:08
ftp прошлый век.
sftp (через ssh). Не путать с ftps (ftp через ssl).
Просто выбросте его уже на помойку....

Даже для ненаглядный винды есть удобный клиент - WinSCP

PS: "Прошлый век" не потому что я хипстер, а потому что это не секурно ни разу...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)