今天想写个脚本,定时把文件中的数据导入到mysql中去,思路如下:
1、写个shell脚本,里面通过mysql的load data infile 'xxxxxx' 命令将数据导入,很简单,只有一个命令
2、将脚本配置到crontab的任务中定时执行。
结果第一步完成后,在验证脚本是否可执行过程中,就遇到了问题,脚本死活执行不过,一直提示Can't get stat of '/usr/local/mysql/data/backup/chen.sql'的错误,但是单独将shell脚本里面的这条命令拷贝出来执行,没有问题,百般不解。
尝试了几个方向去寻求问题,如mysql账号权限、文件目录权限,终无果。
后百度点进一文章,说设置下shell脚本的格式(fileformat),设置成unix格式,最终问题得以解决。具体方法如下:
1、vim 打开文件
2、set ff查看shell脚本格式(我的文件显示出来是doc格式,后回想起来我是在window下编写的这个文件,然后上传到linux下的,汗颜中)
3、set ff=unix修改shell脚本格式
4、保存退出
再执行,运行成功。