2017-01-15 93 views
0

我写了一个小NEOS备份脚本转储我的MySQL数据库和压缩这个..空击线抛出错误

在我的笔记本电脑(Deepin OS)的脚本运行良好,但它引发错误的服务器上...

https://gist.github.com/breadlesscode/2f2e274a3c9314b99ac71fc6b2afb07a

空行抛出错误?我不知道为什么。我尝试了不同的线条,但它没有工作。

的bash -x ./crons/BackupNeos.sh输出:

+ BACKUP_FOLDER=%s_NEOS_Backup 
+ NEOS_ROOT=$'/html/neos\r' 
+ BACKUP_ROOT=$'/html/backups\r' 
+ NEOS_PACKAGE=$'My.Package\r' 
+ COMPRESS_BACKUP=$'true\r' 
+ NEOS_FLOW_EXPORT=$'true\r' 
+ MYSQL_FULL_BACKUP=$'true\r' 
+ MYSQL_HOST=$'server\r' 
+ MYSQL_USER=$'user\r' 
+ MYSQL_PW=$'password\r' 
+ MYSQL_DB=$'database\r' 
+++ date +%Y-%m-%d_%H-%M-%S 
++ printf %s_NEOS_Backup 2017-01-15_18-53-30 
+ BACKUP_FOLDER=$'2017-01-15_18-53-30_NEOS_Backup\r' 
++ printf %s/%s $'/html/backups\r' $'2017-01-15_18-53-30_NEOS_Backup\r' 
+ BACKUP_FOLDER_PATH=$'/html/backups\r/2017-01-15_18-53-30_NEOS_Backup\r\r' 
+ $'\r' 
: Command not found.le 18: 
' printf 'Backup script start:\n\n 
Backup script start: 

+ cd $'/html/backups\r\r' 
: File or directory not foundtml/backups 
' printf 'Create backup folder... 
+ mkdir $'2017-01-15_18-53-30_NEOS_Backup\r\r' 
' printf 'done!\n 
done! 
+ $'\r' 
: Command not found.le 24: 
./crons/BackupNeos.sh: Zeile 51: Syntax Error: worong eol. 

任何人都可以帮我吗?

+0

欢迎堆栈溢出。 请注意,在这里说'谢谢'的首选方式是通过 提高投票的好问题和有用的答案(一旦你有足够的声誉这样做),并接受任何 问题最有用的答案,你问(这也给你一个小小的提升,以你的声望 )。 请参阅[关于]页面,以及[如何在此处提问 ?]和 [当有人回答我的 问题时,我该怎么办? ?](http://stackoverflow.com/help/someone-answers) –

回答

3

'\r'是Windows EOL标记,它在unix类操作系统中不起作用。

尝试

dos2unix ./crons/BackupNeos.sh 

这将转换EOL纠正之一。

使用sed替代做法:

​​
+0

哦,谢谢! 这是我的FTP上传。我已经将传输模式设置为二进制,并且一切都很好=) – Marvvvv

+0

'\ r'是传统的(Mac OS 9之前版本,即Mac OS 9及更早版本)Mac版本。 Windows是'\ r \ n'。 – BlueM