嘿,我的shell脚本中有一个问题我无法处理,这就是我需要你帮助的原因。
所以这是我的剧本:
MYSQL_DUMP=/usr/bin/mysqldump
BACKUP_DIR=/backup/mysql
TAR=/bin/tar
RM=/bin/rm
DB_NAME=Homepage
DB_USER=root
DB_PASS=liron3211
AKT_DATUM=`date +%Y%m%d%H%M`
$MYSQL_DUMP $DB_NAME -u $DB_USER --password=$DB_PASS > \
$BACKUP_DIR/$AKT_DATUM.backup.sql
cd $BACKUP_DIR
$TAR -cvzf $AKT_DATUM.backup.sql.tgz $AKT_DATUM.backup.sql
$RM $AKT_DATUM.backup.sql
所以我希望脚本创建一个我的数据库的sql文件"主页"并把它放在文件夹/ backup / mysql中,如何将它从我的根服务器传输到另一个ftp服务器?
编辑:这是我的错误:
./backup.sh: line 11: syntax error near unexpected token `newline'
如果你可以帮助我会很棒:)
最诚挚的问候 oRxx
答案 0 :(得分:1)
如果您要上传ssh,请使用scp:
scp <file to upload> <username>@<hostname>:<destination path>
在底部添加到您的文件: 请注意,您应该与主机建立无密码连接!
scp $BACKUP_DIR/$AKT_DATUM.backup.sql.tgz user@server1:/my/mysql/backups
这种方式更加安全。但是如果你使用ftp,你可以使用heredoc来做到这一点。
ftp -n $FTP_SERVER <<End-Of-Session
# -n option disables auto-logon
user anonymous "$FTP_PASS"
binary
cd $FTP_DIR
put "$AKT_DATUM.backup.sql.tgz"
bye
End-Of-Session
不要忘记在脚本的开头添加变量:
FTP_PASS=password1
FTP_SERVER=my.ftp.server
FTP_DIR=/remote/dir/
答案 1 :(得分:0)
./backup.sh: line 11: syntax error near unexpected token `newline'
此错误是因为您有意外的换行符。您需要将重定向stdout的文件放在同一行或使用反斜杠表示行继续:
$MYSQL_DUMP $DB_NAME -u $DB_USER --password=$DB_PASS > \
$BACKUP_DIR/$AKT_DATUM.backup.sql