一、命令行导入
mysql -uroot -p
use databases;
LOAD DATA LOCAL INFILE '/file.csv'
INTO TABLE table_name
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
二、navicate等第三方工具
三、编写shell脚本执行导入动作
1、新建sh文件
如果权限不够加sudo
touch update_exploits.sh
vim update_exploits.sh
2、编写shell脚本
#!/bin/bash
mysql -uroot -ppass <<EOF
use databases;
LOAD DATA LOCAL INFILE '/opt/exploitdb/files_exploits.csv'
INTO TABLE fa_files_exploits
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
quit
EOF
curl -s http://127.0.0.1:100/wmBuoUGWcO.php/files_exploits/update_cve
echo "\n"
echo 'ok'
附:甚至可以执行一些curl的接口请求任务,不过放到crontab里也行。
databases 数据库名
/opt/exploitdb/files_exploits.csv csv文件路径
fa_files_exploits 表名
3、执行shell文件
source update_exploits.sh
or
sh update_exploits.sh
or
./update_exploits.sh
source和sh 文件不需要可执行权限,./需要 赋予 +x可执行:chmod +x update_exploits.sh 。
附:如果在导入之前需要其它动作可以这样写。
#!/bin/bash
cd /opt/exploitdb
git pull
mysql -uroot -ppass <<EOF
use databases;
。。。
保证git pull 非 root权限,不然的话,需要更改.git文件的权限。
四、任务计划执行shell脚本,crontab每天执行一次
crontab -e
0 0 * * * source /opt/update_exploits.sh
or
0 0 * * * source /opt/update_exploits.sh > /var/www/html/sh.txt