linux中配置的crontab不执行

2011年9月26日 1 条评论

在linux下提供的crontab可以很轻松的帮我们完成一些需要定时处理的任务。在某些系统下,明明通过terminal可以执行的动作,加入到crontab后却没有执行,检查配置也没有任何问题。最终发现是由于cron的运行环境(包括path等)可能不是和登陆的当前用户一致造成的,所以在配置crontab时,建议命令用完整路径。

分类: Linux 标签: ,

java如何调用系统命令

2011年9月26日 没有评论

java中可以通过Runtime来执行系统命令,大致操作如下:

Runtime rt = Runtime.getRuntime();
Process process = rt.exec("命令字符串");
//获取命令的输出
BufferedReader in = new BufferedReader(new InputStreamReader(process.getInputStream()));
String line = null;

while ((line = in.readLine()) != null) {
	System.out.println(line);
}

如果命令有错,把上述的process.getInputStream()替换成process.getErrorStream(),可以有效的获取操作系统给出的错误提示,帮我们分析命令出错的原因。

elipse的java项目获取项目的绝对路径

2011年9月26日 没有评论

在非web项目中需要获取项目在硬盘上的绝对路径,可以使用System.getProperty(“user.dir”)来获取。需要说明的事,这个值是运行java程序的当前目录,例如在D:\test下执行

java -classpath D:\workspace3.6\prj\target\mytest.jar;%classpath% com.demo.Test

这时得到的值是 D:\test

另外System.getProperty()参数大全如下:

java.version			Java Runtime Environment version
java.vendor			Java Runtime Environment vendor
java.vendor.url			Java vendor URL
java.home			Java installation directory
java.vm.specification.version	Java Virtual Machine specification version
java.vm.specification.vendor	Java Virtual Machine specification vendor
java.vm.specification.name	Java Virtual Machine specification name
java.vm.version			Java Virtual Machine implementation version
java.vm.vendor			Java Virtual Machine implementation vendor
java.vm.name			Java Virtual Machine implementation name
java.specification.version	Java Runtime Environment specification version
java.specification.vendor	Java Runtime Environment specification vendor
java.specification.name		Java Runtime Environment specification name
java.class.version		Java class format version number
java.class.path			Java class path
java.library.path		List of paths to search when loading libraries
java.io.tmpdir			Default temp file path
java.compiler			Name of JIT compiler to use
java.ext.dirs			Path of extension directory or directories
os.name				Operating system name
os.arch				Operating system architecture
os.version			Operating system version
file.separator			File separator ("/" on UNIX)
path.separator			Path separator (":" on UNIX)
line.separator			Line separator ("\n" on UNIX)
user.name			User's account name
user.home			User's home directory
user.dir			User's current working directory

本文参考了 http://yueguangyuan.iteye.com/blog/71940

分类: Java 标签: , ,

linux中去掉敲命令时用 tab 发出“嘀”的声音

2011年9月22日 没有评论

在linux下可能tab键是用的最多一个吧。在使用ls,cd等命令时使用tab可以帮我们减少很多键盘输入,比如我们要进入一个很长目录名的目录下,可能只需要敲入前几个字符,然后使用tab,这时整个目录名都帮补充出来了。如果有几个前面都相同的目录,它也会提示出来,有些系统下还会发出嘀”的响声,如果不喜欢这个声音,可以通过修改配置去掉它。用vi 编辑 /etc/inputrc 文件, 去掉 “set bell-style none”前面的#号,重启动系统即可!

分类: Linux 标签:

linux下删除文件名乱码文件

2011年9月22日 没有评论

linux下通过rm命令来删除文件,但是如果要删除文件名乱码的文件,就不能直接使用rm命令了,因为压根就无法输出文件名来。不过借助find命令可以实现对其删除。在linux下对于每个文件都一个对应的不变的inode号,使用 ls -li 可以查看到文件的inode号,同时find可以根据inode号来查找,另外find命令中可以执行其他的命令。删除的步骤如下:

  1. 通过ls -li 获取要删除乱码文件名文件的inode号,比如得到的是 123456
  2. 执行删除
find ./ -inum 123456 -exec rm -rf {} \;

注意:“{}”后要空一格再加上“\;”。

分类: Linux 标签: , , ,

find命令错误提示路径必须在表达式之前

2011年9月22日 没有评论

在某些版本的linux下,通过find查找当前目录下所有后缀名jpg的文件,命令为

find ./ -iname *.jpg

会出现“find: 路径必须在表达式之前”的错误提示。解决的方法有两种

  1. 使用转义符把*转义,即  \*.jpg
  2. 用引号引起来 ,即 “*.jpg”

注意:如果需要把find 的结果提交给while,例如:

`echo find ./ -iname "\*.jpg"` | while read f
do
   #do something
done

则既需要转义符,也需要引号

分类: Linux 标签: ,

eclispe下svn插件保存用户名密码的文件路径

2011年9月15日 没有评论

使用eclipse的svn插件来连接svn服务器,如果一旦记住密码,以后就不会提示输入用户名/密码了,如果要更换用户就比较麻烦了。svn插件是把用户的认证信息存放在硬盘上的文件中的,所以只要把找到该文件,把它删除即可。在window下,该文件的存放路径是

C:\Documents and Settings\Administrator\Application Data\Subversion\auth\svn.simple

注意:C:\Documents and Settings\Administrator\ 可能需要根据自己的实际情况调整, Administrator 是系统当前登录的用户。

在上述的文件夹下可能存在多个文件(每个不同的svn服务器对应一个),都是文本格式的,你可以用文本工具打开,可以在里面找到你需要修改用户的svn服务器信息,如果找到了,删除此文件即可。当再次连接svn服务器就会出现提示输入用户名和密码的对话框。

分类: Linux 标签: , , ,

在aws的ec2服务器上搭建nginx+php的环境

2011年9月8日 没有评论
  • 安装gcc编译器
yum -y install gcc
yum -y install gcc-c++
yum -y install make automake
  • 创建用户
useradd www
  • 安装 nginx

安装依赖的库

yum -y install pcre-devel openssl openssl-devel

下载nginx

wget http://nginx.org/download/nginx-1.0.6.tar.gz
tar -xvf nginx-1.0.6.tar.gz
./configure --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_perl_module
make && make install

注:若make出现如下错误: 阅读全文…

nginx+php上传大文件失败

2011年9月8日 没有评论

默认情况下,nginx允许客户端请求的最大的单个文件字节数为1M,就是说如果上传的文件超过1M就上传不了。可以人为修改这个参数,例如把下面代码放在http段,这样就可以上传10M以下的文件

client_max_body_size 10m;

另外限制上传文件大小配置在php.ini也有配置,默认是

post_max_size = 8M
upload_max_filesize = 2M

如果要上传大文件,可能也要相应调整这两个配置项。

vim中常用的设置

2011年9月7日 没有评论

下面是在网上看到关于vim的一些常用配置,记录在此,算是做个笔记吧。

"双引号开始的行为注释行,下同
"去掉讨厌的有关vi一致性模式,避免以前版本的一些bug和局限
set nocompatible
"显示行号
set number
"检测文件的类型
filetype on
"记录历史的行数
set history=1000
"背景使用黑色
set background=dark
"语法高亮度显示
syntax on
"下面两行在进行编写代码时,在格式对起上很有用;
"第一行,vim使用自动对起,也就是把当前行的对起格式应用到下一行;
"第二行,依据上面的对起格式,智能的选择对起方式,对于类似C语言编
"写上很有用
set autoindent
set smartindent
"第一行设置tab键为4个空格,第二行设置当行之间交错时使用4个空格
set tabstop=4
set shiftwidth=4
"设置匹配模式,类似当输入一个左括号时会匹配相应的那个右括号
set showmatch
"去除vim的GUI版本中的toolbar
set guioptions=T
"当vim进行编辑时,如果命令错误,会发出一个响声,该设置去掉响声
set vb t_vb=
"在编辑过程中,在右下角显示光标位置的状态行
set ruler
"默认情况下,寻找匹配是高亮度显示的,该设置关闭高亮显示
set nohls
"查询时非常方便,如要查找book单词,当输入到/b时,会自动找到第一
"个b开头的单词,当输入到/bo时,会自动找到第一个bo开头的单词,依
"次类推,进行查找时,使用此设置会快速找到答案,当你找要匹配的单词
"时,别忘记回车
set incsearch
"修改一个文件后,自动进行备份,备份的文件名为原文件名加"~"后缀
if has("vms”) //注意双引号要用半角的引号" "
set nobackup
else
set backup
endif

如果去除注释后,一个完整的.vimrc配置信息如下所示:
set nocompatible
set number
filetype on
set history=1000
set background=dark
syntax on
set autoindent
set smartindent
set tabstop=4
set shiftwidth=4
set showmatch
set guioptions-=T
set vb t_vb=
set ruler
set nohls
set incsearch
if has("vms")
set nobackup
else
set backup
endif
分类: Linux 标签: , ,

无觅相关文章插件,快速提升流量