linux中配置的crontab不执行
在linux下提供的crontab可以很轻松的帮我们完成一些需要定时处理的任务。在某些系统下,明明通过terminal可以执行的动作,加入到crontab后却没有执行,检查配置也没有任何问题。最终发现是由于cron的运行环境(包括path等)可能不是和登陆的当前用户一致造成的,所以在配置crontab时,建议命令用完整路径。
在linux下提供的crontab可以很轻松的帮我们完成一些需要定时处理的任务。在某些系统下,明明通过terminal可以执行的动作,加入到crontab后却没有执行,检查配置也没有任何问题。最终发现是由于cron的运行环境(包括path等)可能不是和登陆的当前用户一致造成的,所以在配置crontab时,建议命令用完整路径。
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(),可以有效的获取操作系统给出的错误提示,帮我们分析命令出错的原因。
在非web项目中需要获取项目在硬盘上的绝对路径,可以使用System.getProperty(“user.dir”)来获取。需要说明的事,这个值是运行java程序的当前目录,例如在D:\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
在linux下可能tab键是用的最多一个吧。在使用ls,cd等命令时使用tab可以帮我们减少很多键盘输入,比如我们要进入一个很长目录名的目录下,可能只需要敲入前几个字符,然后使用tab,这时整个目录名都帮补充出来了。如果有几个前面都相同的目录,它也会提示出来,有些系统下还会发出嘀”的响声,如果不喜欢这个声音,可以通过修改配置去掉它。用vi 编辑 /etc/inputrc 文件, 去掉 “set bell-style none”前面的#号,重启动系统即可!
linux下通过rm命令来删除文件,但是如果要删除文件名乱码的文件,就不能直接使用rm命令了,因为压根就无法输出文件名来。不过借助find命令可以实现对其删除。在linux下对于每个文件都一个对应的不变的inode号,使用 ls -li 可以查看到文件的inode号,同时find可以根据inode号来查找,另外find命令中可以执行其他的命令。删除的步骤如下:
注意:“{}”后要空一格再加上“\;”。
在某些版本的linux下,通过find查找当前目录下所有后缀名jpg的文件,命令为
会出现“find: 路径必须在表达式之前”的错误提示。解决的方法有两种
注意:如果需要把find 的结果提交给while,例如:
`echo find ./ -iname "\*.jpg"` | while read f do #do something done
则既需要转义符,也需要引号
使用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服务器就会出现提示输入用户名和密码的对话框。
yum -y install gcc yum -y install gcc-c++ yum -y install make automake
useradd www
安装依赖的库
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允许客户端请求的最大的单个文件字节数为1M,就是说如果上传的文件超过1M就上传不了。可以人为修改这个参数,例如把下面代码放在http段,这样就可以上传10M以下的文件
另外限制上传文件大小配置在php.ini也有配置,默认是
如果要上传大文件,可能也要相应调整这两个配置项。
下面是在网上看到关于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