
给你讲一下Linux下的 先创建个备份脚本的
文件保存为backup.sh,然后让corn在指定时间运行就可以了 备份脚本内容: cp -r 日志目录 要备份的目录 tar -zcvf bak$(date +%Y%m%d).tar.gz 要备份的目录 //将数据所在文件夹bak打包既然使用了java,实现这种功能就与OS无关了,否则叫什么跨平台。其实用浏览器下载服务器端文件比较容易:首先,要让用户能找到并选择文件(jsp里实现,部分代码)StringrealPath=request.getSession().getServletContext().getRealPath("")+"/documents"//项目根目录下文件路径FilefileDir=newFile(realPath)String[]fileList=fileDir.list()//返回目录下文件名称数组for(inti=0ifilelength){//最后一次传送的
字节数byte[]leftpart=newbyte[1024-(int)(totalsize-filelength)]//读入字节数组in.readFully(leftpart)//写入输出流servletOut.write(leftpart)}else{//读入1024个字节到字节数组bin.readFully(b)//写和输出流servletOut.write(b)}}servletOut.close()}/***@paramfileName*@paramfileDownloadType*@paramres*@throwsFileNotFoundException*@throwsIOException*/publicstaticvoidDownload(StringfileName,StringfileDownloadType,HttpServletResponseres)throwsFileNotFoundException,IOException{StringfileContentType=nullif(fileName.endsWith(".doc")){fileContentType="application/msword"}elseif(fileName.endsWith(".pdf")){fileContentType="application/pdf"}elseif(fileName.endsWith(".xls")){fileContentType="application/vnd-ms-excel"}elseif(fileName.endsWith(".txt")){fileContentType="text/plain"}else{fileContentType="application/octet-stream"}longtotalsize=0//取得要传输的文件,实际应用是可以将文件路径以参数的形式传入Filef=newFile(fileName)//取文件长度longfilelength=f.length()byte[]b=newbyte[1024]//设置文件输出流FileInputStreamfin=newFileInputStream(f)DataInputStreamin=newDataInputStream(fin)intpos=fileName.lastIndexOf(java.io.File.separator)Stringfn=newString(fileName.substring(pos+1).getBytes("gb2312"),"ISO8859-1")//设置相应头信息,让下载的文件显示保存信息res.setContentType(fileContentType)res.setHeader("Content-Disposition",fileDownloadType+"filename=\""+fn+"\"")//确定长度Stringfilesize=Long.toString(filelength)//设置输出文件的长度res.setHeader("Content-Length",filesize)//取得输出流ServletOutputStreamservletOut=res.getOutputStream()//发送文件数据,每次1024字节,最后一次单独计算while(totalsizefilelength){//最后一次传送的字节数byte[]leftpart=newbyte[1024-(int)(totalsize-filelength)]//读入字节数组in.readFully(leftpart)//写入输出流servletOut.write(leftpart)}else{//读入1024个字节到字节数组bin.readFully(b)//写和输出流servletOut.write(b)}}servletOut.close()}}可以运用Linux 输出重定向>和>>来将输出的数据保存到文件,直接在
命令后加>xxx。
输出重定向的用法:
标准输出的控制
语法:命令>文件将命令的执行结果送至指定的文件中。
例如:
ls -l >list
将执行“ls -l” 命令的结果写入文件list 中。
语法:命令>! 文件将命令的执行结果送至指定的文件中,若文件已经存在,则覆盖。
例如:
ls -lg >! list
将执行“ls - lg” 命令的结果覆盖写入文件list 中。
语法:命令>&文件将命令执行时屏幕上所产生的任何信息写入指定的文件中。
例如:
cc file1.c >&error
将编译file1.c 文件时所产生的任何信息写入文件error 中。
语法:命令》 文件将命令执行的结果附加到指定的文件中。
例如:
ls - lag >>list
将执行“ls - lag” 命令的结果附加到文件list 中。
语法:命令》&文件将命令执行时屏幕上所产生的任何信息附加到指定的文件中。
例如:
cc file2.c >>&error
将编译file2.c 文件时屏幕所产生的任何信息附加到文件error 中。
评论列表(0条)