我有备份我的数据库的bash脚本,我在其他服务器上使用它并正常工作...
脚本是:
#!/bin/bash
HOME="/var/www/html"
DB="$HOME/backup/vpn-db-`date +%Y-%m-%d-%H%M%S`.sql.gz"
LOG="$HOME/backup/log.txt"
echo "Backup database `date +%F` u `date +%H:%M:%S`."
echo "Backup database `date +%F` u `date +%H:%M:%S`." >> $LOG
mysqldump -u root -pmypassword mydatabase > $DB
echo "Finish at `date +%H:%M:%S`."
echo "Finish at `date +%H:%M:%S`." >> $LOG
尝试从终端运行时出现错误:
root@vpn:~# sudo bash /var/www/html/backup/cron.sh /var/www/html/backup/cron.sh: line 2: $'\r': command not found /var/www/html/backup/cron.sh: line 6: $'\r': command not found Backup database 2017-04-04 u 13:51:10. : No such file or directory: /var/www/html /var/www/html/backup/cron.sh: line 9: $'\r': command not found : No such file or directory gz /var/www/html /var/www/html/backup/cron.sh: line 11: $'\r': command not found Finish at 13:51:10. : No such file or directory 3: /var/www/html /var/www/html/backup/cron.sh: line 14: $'\r': command not found
注意 - 文件权限为: 774
答案 0 :(得分:2)
您可能已经在windoze上编辑了文件,或者通过windoze传输了文件,其中一个传输是二进制文件,另一个是文本模式,因此它有尾随的回车。
尝试dos2unix /var/www/html/backup/cron.sh
让CR消失。