#!/bin/bash
BACKUP=/root/.backups
### FTP ###
FTPD="/home/vmsuser/.backup/vm3"
HOST=""
PORT="22"
USER=""
PASS=""
TAR="$(which tar)"
expect="/usr/bin/expect"
NOW=$(date +%Y-%m-%d)
$TAR -czf $BACKUP/etc-$NOW.tar.gz /etc
sleep 5
#echo "----------------------------"
echo "copy etc ok"
$TAR -czf $BACKUP/www-$NOW.tar.gz /home/www
sleep 5
echo "copy www ok"
sleep 10
mkdir $BACKUP/$NOW/
ARCHIVE=$BACKUP/$NOW/server-$NOW.tar.gz
ARCHIVED="$BACKUP/*-$NOW.tar.gz"
$TAR -czf $ARCHIVE $ARCHIVED
DUMPFILE=server-$NOW.tar.gz
$expect -c "spawn scp -oport=$PORT -2 -r $BACKUP/$NOW/$DUMPFILE $USER@$HOST:$FTPD/$DUMPFILE
expect \"password:\"
send \"$PASS\r\"
interact
"
rm -r $ARCHIVE
rm -r $ARCHIVED
rm -r $BACKUP/$NOW
Проблема заклюается в следующем, если скрипт запускается из cron, не выходит авторизация на стороннем сервере. Попробовав добавить в cron
MAILTO="***@yandex.ru"Получил примерно следующие:
/bin/tar: Удаляется начальный `/' из имен объектов
copy etc ok
/bin/tar: Удаляется начальный `/' из имен объектов
copy www ok
/bin/tar: Удаляется начальный `/' из имен объектов
spawn scp -oport=22 -2 -r /root/.backups/2012-01-08/server-2012-01-08.tar.gz vmsuser@server:/home/vmsuser/.backup/vm3/server-2012-01-08.tar.gz
ATTENTION! All connections are was adequately logged!
vmsuser@server 's password: Получается оно не может отправить пасс. В чём тут проблема может быть?
Если просто вызвать скрипт из консоли - всё нормально.