备份bin log日志(千万别重新启动数据库,可能会导致bin log日志被删除

cp -r /usr/local/mysql /usr/local/mysql-bak

切换到mysql/bin目录中使用mysqlbinlog命令

cd /usr/local/mysql/bin

寻找开始的节点与结束的节点

最好是数据库创建数据库时候作为开始
需要恢复的节点

./mysqlbinlog --start-position [开始节点]  --stop-position [结束节点] /usr/local/mysql-bak/mysql-bin.000003 > test.sql

导入数据库

mysql -uroot -proot < test.sql

也可以合并两部分: ./mysqlbinlog --start-position [开始节点] --stop-position [结束节点] /usr/local/mysql-bak/mysql-bin.000003 | mysql -uroot -proot

导出数据

gz打包与解压

压缩文件

压缩为 .gz文件,源文件会消失

gzip 源文件

压缩并命名且保留源文件

gzip -c 源文件 > 压缩文件

压缩目录(gzip 压缩目录 只会压缩目录下的所有文件 不会压缩目录)

gzip -r 目录

解压

普通解压

gzip -d 压缩文件

zip 打包与解包

打包多个文件或者文件夹

zip -p -r 压缩名字 压缩文件1 压缩文件2
// 比如: 把目录下的test1文件夹,test2文件夹,test.txt文件 压缩成ttt.zip
zip -p -r ttt.zip test1 test2 test.txt

解包

普通解包

unzip 解压文件
// 比如:test.zip
unzip test.zip

jar 打包与解包

jar打包

mave打包

mvn clean package -Dmaven.test.skip=true

jar解包

jar解包

jar xvf jar的名字
// 比如: test.jar
jar xvf test.jar

把解包的jar还原为jar包

jar cvfM0 打包的名字 打包的文件
// 比如:把当前目录下所有文件打包成test.jar
jar cvfM0 test.jar ./

查看进程

ps -aux |grep xxx
// 比如: 查看test.jar运行情况
ps -aux |grep test.jar

查询进程并停止进程

pid=`ps -aux | grep xxx | grep -v grep | awk '{print $2}' `
[ -n "$pid" ] && kill -s 9 $pid
// 比如: 停止test.jar进程
pid=`ps -aux | grep test.jar | grep -v grep | awk '{print $2}' `
[ -n "$pid" ] && kill -s 9 $pid

使用sed命令进行替换文本

sed -ie 's/匹配的字符串/替换的字符串/g' 文件
// 比如:把test.txt 中的 petternStr 替换为 ttt
sed -ie 's/petternStr/ttt/g' test.txt

每天切割日志

创建脚本,文件名为:/data/scripts/backupWebLog.sh

#/bin/bash
NGINX_PATH=/etc/nginx/
LOG_PATH=/var/www/logs/
NGINX_PID=/run/nginx.pid
YESTERDAY=`date +%F -d -1day`
cd $LOG_PATH
for logName in `ls ./ | grep .log`
    do
        logPath=`echo $logName|awk -F'-[a-z]+.log' '{print $1}'`
        fileType=`echo $logName|awk -F$logPath'-' '{print $2}'`
        logPathR=${LOG_PATH}${logPath}
        if [ ! -d $logPathR ];then
            mkdir $logPathR
        fi
        fileName=${logPathR}/${YESTERDAY}-${fileType}
        if [ -f $fileName ];then
            rm -f $fileName
        fi
        mv $logName $fileName
    done
kill -USR1 `cat ${NGINX_PID}`

启动定时任务进行每日切割

crontab -e
0 0 *  * *  /data/scripts/backupWebLog.sh

数据库备份

创建脚本文件: /data/scripts/backupDB.sh

#/bin/bash
mysqldump -uroot -proot --all-databases > /var/backup/db/`date  +%Y%m%d-%H%M%S`.sql

赋予执行权限

chmod a+x /data/scripts/backupDB.sh

创建定时任务

crontab -e
0 */8 * * * /data/scripts/backupDB.sh

jar包中获取资源

在本地获取路径和jar包中获取路径的方式不同
反例:使用getContextClassLoader().getResource() ,获取路径的时候, 会出现 jar包带"!"的情况 ,导致获取不到文件
正确方式: 使用 new ClassPathResource("static/" + CONFIRM_BOOK);