最近在为客户维护网站及OA系统的时候要每天备份一次数据在windows下写的脚本遇到了一些坑,特此记录下来。
下面的是脚本的内容:
mysqldump -uroot -p'Mysql的密码' oa > /home/wwwroot/oa/data/sqlbak/OA-$(date +%Y%m%d).sql
mysqldump -uroot -p'Mysql的密码' web > /home/wwwroot/web/data/Mysql_backup/$(date +%Y%m%d).sql
cd /home/wwwroot/
tar -zcvf All-data-$(date +%Y%m%d).tar.gz ./ --exclude ./default
rm -f /home/wwwroot/web/data/Mysql_backup/$(date +%Y%m%d).sql
rm -f /home/wwwroot/oa/data/sqlbak/OA-$(date +%Y%m%d).sql
复制到命令行执行一点问题没有,但写入到sh脚本里发现生成的文件无法通过SFTP或者rm命令删除,通过ls命令看到文本名带“?”,或者"^M",后来找到网上说的windows下的编辑工具生成的回车是"rn",所以我们需要使用Notepad++之类的文本工具把"r"替换掉即可。
前面生成无法删除的文件先使用
ls -i
655381 allbak.sh 655368 default 789049 oa 655378 web
命令拿到一个编号,然后使用:
find ./ -inum 655381 -exec rm -rf {} ;
就可以删除无法识别的文件或者目录。
除非注明,网络人的文章均为原创,转载请以链接形式标明本文地址:https://www.55mx.com/post/95
《linux下编写一个脚本自动备份网站的数据》的网友评论(0)