JAVA-and-J2EE

linux每天定时备份MySQL数据库并删除五天前的备份文件

星期五, 三月 17th, 2017 | Database, JAVA-and-J2EE | 没有评论

MYSQL定期备份常用脚本如下:

1. mkdir -p /bak/mysqlbak
 
2.vi bakmysql.sh
内容如下
#!/bin/bash
# Name:bakmysql.sh
# This is a ShellScript For Auto DB Backup and Delete old Backup
#
backupdir=/bak/mysqlbak
time=` date +%Y%m%d%H `
/usr/local/webserver/mysql/bin/mysqldump -root-pxxx -S /tmp/mysql.sock  xx| gzip > $backupdir/xx_$time.sql.gz
#
find $backupdir -name "xx_*.sql.gz" -type f -mtime +5 -exec rm {} \; > /dev/null 2>&1

› Continue reading

git 取消修改,恢复版本常用命令

星期五, 三月 17th, 2017 | JAVA-and-J2EE, linux | 没有评论

一并说下 常用的简单指令

1. >git clone xxxx.git
 
2. >git status
 
3. >git add *
 
4. >git commit -m "comment"
 
5. >git push
 
6. >git pull
 
上述是正常情况下的使用,下面为修改等
#取消对文件的修改。还原到最近的版本,废弃本地做的修改。
git checkout -- <file>
 
#取消已经暂存的文件。即,撤销先前"git add"的操作
git reset HEAD <file>...
 
#修改最后一次提交。用于修改上一次的提交信息,或漏提交文件等情况。
git commit --amend
 
#回退所有内容到上一个版本
git reset HEAD^
 
#回退a.c这个文件的版本到上一个版本  
git reset HEAD^ a.c  
 
#向前回退到第3个版本  
git reset –soft HEAD~3  
 
#将本地的状态回退到和远程的一样  
git reset –hard origin/master  
 
#回退到某个版本  
git reset 089c  
 
#回退到上一次提交的状态,按照某一次的commit完全反向的进行一次commit.(代码回滚到上个版本,并提交git)
git revert HEAD

自动化git更新初步实践之crontab

星期一, 二月 20th, 2017 | JAVA-and-J2EE | 没有评论

启用crontab做自动化构建git代码步骤如下:

1. crontab -e 每5分钟执行一次输出执行结果到日志文件中

*/5 * * * * /home/wx.sh >> /home/wx.log 2>&1

2.踩坑wx.sh 的环境变量问题 一定要source /etc/profile 文件,其他指令也最好绝对地址

#!/bin/sh
source /etc/profile
cd /home/www/
/usr/local/git/bin/git pull
chown -R www:www /home/www

完毕

Tags: ,

是时候放弃Velocity模板引擎了

星期日, 二月 5th, 2017 | JAVA-and-J2EE | 没有评论

自Spring 4.3废弃Velocity了也为我们做了技术的预测的选择条件之一.

强迫症的缘故用到过期的方法总想查看对应的原因和解决之法,发现是官方不准备支持了.

也许也是我们放弃Velocity的使用,启用其他新的模板的开端.

来自spring的描述

Velocity 1.7 dates back to 2010. Following up on the deprecation of our Velocity support in Spring 4.3, let’s not include it to begin with in the 5.0 generation.

https://jira.spring.io/browse/SPR-13795

可以选择的模板引擎:

1.使用FreeMarker(支持多类型)

2.Thymeleaf (支持HTML5之类)

3.也可以试试国产的 Beetl,oschina的对应项目链接https://www.oschina.net/p/beetl

更多优秀的模板欢迎补充.

目前的流行程度都是后端退化到只提供REST接口的JSON形式,后端模板引擎的重要性也变的低了很多.

聊以记录下,也期待Velocity2.0版本,也许不会再有……

Tags:

err_incomplete_chunked_encoding遭遇及修复

星期日, 一月 8th, 2017 | JAVA-and-J2EE | 没有评论

在chrome遭遇 err_incomplete_chunked_encoding 此错误

查看了下 nginx 并没有发现是其的错误

看了tomcat 是 request header is too large 的问题

修复之

1
2
3
4
<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" maxHttpHeaderSize="65536" maxPostSize="4194304"  
               URIEncoding="UTF-8"/>

搞定

Tags:

nginx支持lua的编译配置及Nginx rewrite对post数据的影响

星期四, 十二月 8th, 2016 | JAVA-and-J2EE, linux | 没有评论

nginx+lua 可以很方便做限流,路由等其他配置很是方便

编译配置如下:
lua-nginx-module 是 openresty(集成nginx版本) 下的一个模块可以独立编译挂载
https://github.com/openresty/lua-nginx-module

Alternatively, ngx_lua can be manually compiled into Nginx:

1.Install LuaJIT 2.0 or 2.1 (recommended) or Lua 5.1 (Lua 5.2 is not supported yet). LuaJIT can be downloaded from the LuaJIT project website and Lua 5.1, from the Lua project website. Some distribution package managers also distribute LuaJIT and/or Lua.

2.Download the latest version of the ngx_devel_kit (NDK) module HERE.

3.Download the latest version of ngx_lua HERE.

4.Download the latest version of Nginx HERE (See Nginx Compatibility)

下载编译安装:
› Continue reading

Tags: ,

理解java里一年中第多少周的定义

星期三, 十一月 23rd, 2016 | JAVA-and-J2EE | 没有评论

应用里需要按照周来定义工作量,用到一年的第多少周,如下定义:
美式:(java默认的方式)
1.以周日为一周的开始 (周日到周六)

2.以每年的1月1日为当年的 第一周

在国内还是比较习惯 以
1.周一 为一周的开始 即 (周一,周二,周三,周四,周五,周六,周日)

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public static void getWeek() {
	String today = "2016-12-31";  
	SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");  
	Date date = null;  
	try {  
	date = format.parse(today);  
	} catch (Exception e) {  
	 e.printStackTrace();  
	}    
	Calendar calendar = Calendar.getInstance();  
	//calendar.setFirstDayOfWeek(Calendar.MONDAY);  
	calendar.setTime(date); 
 
	System.out.println(calendar.get(Calendar.WEEK_OF_YEAR));  
}

输入结果:默认 为 2016年的 第53周,

如果以周一为一周的开始,则归入2017年的第1周.(因为2017年1月1日 为周日好巧呢.)

Tags:

java 压缩文件夹成zip格式

星期五, 十一月 18th, 2016 | JAVA-and-J2EE | 没有评论

想用java 自动打包文件,由此来的此代码
› Continue reading

Tags: ,

no response “Installing Python packages” when letsencrypt-auto

星期一, 十一月 7th, 2016 | JAVA-and-J2EE, linux | 没有评论

延续https的时间的时候,遭遇no response “Installing Python packages”,卡在一直不动的解决方法

主要执行 三,四即可

一.重新配置pip的源文件

vim ~/.pip/pip.conf
 
[global]
index-url = http://mirrors.aliyun.com/pypi/simple/
 
[install]
trusted-host=mirrors.aliyun.com

› Continue reading

Tags: ,

踩坑tomcat8.5的cookie机制

星期六, 八月 20th, 2016 | JAVA-and-J2EE | 没有评论

tomcat升级到8.5版本

发现登录和退出报错,报错日志为下

[http-nio-8080-exec-20] 2016 Aug 20 12:04:49 WARN  WARN:187 - Handler execution resulted in exception
java.lang.IllegalArgumentException: An invalid domain [.i5a6.com] was specified for this cookie
        at org.apache.tomcat.util.http.Rfc6265CookieProcessor.validateDomain(Rfc6265CookieProcessor.java:181)
        at org.apache.tomcat.util.http.Rfc6265CookieProcessor.generateHeader(Rfc6265CookieProcessor.java:123)
        at org.apache.catalina.connector.Response.generateCookieString(Response.java:989)
        at org.apache.catalina.connector.Response.addCookie(Response.java:937)
        at org.apache.catalina.connector.ResponseFacade.addCookie(ResponseFacade.java:386)

网上已有哥们查看了tomcat的源码 总结规则如下:

domain规则如下
1、必须是1-9、a-z、A-Z、. 、- (注意是-不是_)这几个字符组成

2、必须是数字或字母开头 (所以以前的cookie的设置为.i5a6.com 的机制要改为 i5a6.com 即可)

3、必须是数字或字母结尾

解决之法: 升级处理cookie的domain的地方即可 由 (.i5a6.com 的机制要改为 i5a6.com )搞定

Tags:

Rss

Search

文章分类

Meta