首页 文章 精选 留言 我的

精选列表

搜索[linux],共10000篇文章
优秀的个人博客,低调大师

Linux集群和自动化维1.2 IDC机房的选择及CDN的选型

1.2 IDC机房的选择及CDN的选型 如果自己的业务网站中含有大量的图片和视频类文件,为了加快客户端的访问速度,同时为了减缓对真正的核心机房的服务压力,并且提升用户体验,建议在前端最好采用CDN缓存加速方案。 CDN(Content Delivery Network),即内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN缓存加速方案一般有如下几种方式。 租赁CDN:中小型网站直接购买服务就好,现在CDN已经进入按需付费的云计算模式了,性价比是可以准确计算的。 自建CDN:这种方案的成本就有点大了,为了保证良好的缓存效果,必须在全国机房布点,还要自建智能Bind系统,搭建大型网站时推荐采用此种方案,专业的

优秀的个人博客,低调大师

一天一个linux基础命令之时间日期命令date

时间日期命令:date 1、命令格式: date[OPTION]...[+FORMAT] date[-u|--utc|--universal][MMDDhhmm[[CC]YY][.ss]] 2、命令功能 打印不同格式的时间或日期,以及要根据时间和日期执行操作。日期可以以多种格式去打印,也可以使用命令设置固定的格式。在类UNIX系统中,日期被存储为一个整数,其大小为自世界标准时间(UTC)1970年1月1日0时0分0秒起流逝的秒数。 3、常用选项 -d "String" 显示字符串所指的时间。字符串前后必须加上双引号"",也可以用做转换时间显示格式 -s "String" 根据字符串来设置时间,字符串前后必须加上双引号 -u 显示世界时间 日期格式 %Y:显示四位的年份(2016) %y:显示两位的年份(16) %m:月份 %d:天数 %H:小时24小时制 %M:分钟 %S:秒钟 %T:时间,冒号分隔的时间(12:12:01) %X|%r:时间,冒号分隔的时间(10:58:02AM)[%T%p] %D:日期,以斜线隔开的日期(12/27/16) %x:日期,以斜线隔开的日期(12/27/2016) %F:日期:以横杠隔开的日期(2016-12-27) %p:显示出AM或PM unix元年:1970-01-0100:00:00 %s:距离unix元年到现在经历的秒数 %j:一年的第几天(001~366) %w:一个星期的第几天(0代表星期天) %W:一年的第几个星期 %Z显示时区,日期域(CST) %a星期的简称(Sun~Sat) %A星期的全称(Sunday~Saturday) %h,%b月的简称(Jan~Dec) %B月的全称(January~December) 4、使用实例 1、显示当前时间 命令:date [root@server~]#date TueDec2711:06:57CST2016 2、设置指定时间 命令:date [MMDDhhmm[[CC]YY][.ss]] [root@server~]#date122711302016 TueDec2711:30:00CST2016 [root@server~]#date TueDec2711:30:05CST2016 [root@server~]# 提示:MM:月份 DD:天 hh:小时 mm:分钟 [CC[YY]]:两位的年,或者四位的年 .ss:秒钟 如果不指,则按照当前时间设置 3、以指定的格式显示时间 命令:date +FORMAT [root@server~]#date+%T 11:10:59 [root@server~]#date+%H-%M-%S 11-11-23 [root@server~]#date+%F 2016-12-27 [root@server~]#date"+%F%H-%M-%S" 2016-12-2711-11-48 [root@server~]#date"+%F%T" 2016-12-2711:12:00 [root@server~]# 提示:显示指定格式时间时:如果中间有空格,需在显示时间的格式上加入双引号 4、创建以当前时间为名称的目录 命令:mkdir `COMMAND` [root@server~]#mkdir`date+%F-%H-%M-%S` [root@server~]#ls 2016-12-27-11-15-05install.loganaconda-ks.cfginstall.log.syslog [root@server~]# 提示:此时我们用到了命令引用`` 命令引用:引用的是命令的执行结果 date +%F-%H-%M-%S执行结果为2016-12-27-11-15-05,创建时,就直接创建以当前时间为名称的目录 5、输出昨天现在的时间 命令:date -d "1 day ago" [root@server~]#date-d"1dayago" MonDec2611:22:50CST2016 [root@server~]# 提示:也可以使用 date -d "+ 1 day" date-d "+1 day" +%Y%m%d //显示前一天的日期 date-d "-1 day" +%Y%m%d //显示后一天的日期 date-d "-1 month" +%Y%m%d //显示上一月的日期 date-d "+1 month" +%Y%m%d //显示下一月的日期 date-d "-1 year" +%Y%m%d //显示前一年的日期 date-d "+1 year" +%Y%m%d //显示下一年的日期 常用的日期英文格式都可以来进行使用 6、显示30秒后的时间 命令:date -d "30 second" +%T [root@server~]#date+%T 11:24:50 [root@server~]#date-d"30second"+%T 11:25:21 7、将指定的时间转换显示的格式 命令:date -d "TIME" +FORMAT [root@server~]#date-d"2012-12-12""+%Y/%m/%d%H:%M.%S" 2012/12/1200:00.00 [root@server~]#date TueDec2711:26:14CST2016 [root@server~]# 提示:转换时间格式时,不影响当前时间 8、转换apache日志时间格式 命令:date -d "TIME" +FORMAT [root@server~]#date-d"Dec5,201612:12:31AM"+"%Y-%m-%d%H:%M.%S" 2016-12-0500:12.31 [root@server~]# [root@server~]#date-d"Dec5,201612:12:31"+"%Y-%m-%d%H:%M.%S" 2016-12-0512:12.31 [root@server~]# 9、设置时间 命令:date -s "String" [root@server~]#date-s"2016122712:23:00"//设置全时间 TueDec2712:23:00CST2016 [root@server~]#date-s"2016/12/2712:23:00"//设置全时间 TueDec2712:23:00CST2016 [root@server~]#date-s"2016-12-2712:23:00"//设置全时间 TueDec2712:23:00CST2016 [root@server~]#date-s"20161227"//设置成20161227,不过会把具体时间设置成00:00:00 TueDec2700:00:00CST2016 [root@server~]#date-s"12:25:00"//设置具体时间,不会对日期做出修改 TueDec2712:25:00CST2016 [root@server~]# 硬件时钟命令:hwclock [options] 常用选项 -s:以硬件时钟为准,将系统时间修改成硬件时间--hctosys -w:以软件时钟为准,将硬件时间修改成系统时间--systohc [root@server~]#hwclock Tue27Dec201612:02:21PMCST-1.016560seconds [root@server~]#date TueDec2712:04:17CST2016 [root@server~]#hwclock-s [root@server~]#date TueDec2712:02:32CST2016 显示日历 cal cal[-smjy13] [[[day] month] year] 月历 常用选项: -3:显示前三月份 -m:显示时以mon(星期一)打头 -j:显示当前月份在本年的第几天 -y:显示整年

优秀的个人博客,低调大师

查看Linux服务器网卡流量小脚本shell和Python各一例

有时我们需要较为实时的查看服务器上的网卡流量,这里我写了两个小脚本,一个用shell(先写的,一次只能查看一个网卡),另一个用Python(后写的,一次可查看多个网卡)。脚本中都用了while true“死循环”,每隔10s从“/proc/net/dev”中取一次值并根据10s内的差值计算10s内的平均带宽;按ctrl+c停止执行。脚本兼容centos6和7 两个脚本都不太复杂,而且脚本中注释也比较细致,所以我就不过多解释脚本内容了。直接上图上脚本: shell版--使用截图: shell版代码: #!/bin/sh #byljk20160526 if["$1"=""];then#判断后面是否有跟参数 echo-e"\nuseinterface_nameafterthescript,like\"scripteth0\"...\n" exit-1 fi echo-e"\nstartmonitoringthe$1,press\"ctrl+c\"tostop" echo---------------------------------------------------------- file=/proc/net/dev#内核网卡信息文件 whiletrue do RX_bytes=`cat$file|grep$1|sed's/^*//g'|awk-F'[:]+''{print$2}'`#这里sed这一步为了同时兼容centos6和7 TX_bytes=`cat$file|grep$1|sed's/^*//g'|awk-F'[:]+''{print$10}'` sleep10 RX_bytes_later=`cat$file|grep$1|sed's/^*//g'|awk-F'[:]+''{print$2}'` TX_bytes_later=`cat$file|grep$1|sed's/^*//g'|awk-F'[:]+''{print$10}'` #B*8/1024/1024=Mb speed_RX=`echo"scale=2;($RX_bytes_later-$RX_bytes)*8/1024/1024/10"|bc` speed_TX=`echo"scale=2;($TX_bytes_later-$TX_bytes)*8/1024/1024/10"|bc` printf"%-3s%-3.1f%-10s%-4s%-3.1f%-4s\n"IN:$speed_RXMb/sOUT:$speed_TXMb/s done Python版--使用截图: Python版代码: #!/bin/envpython3 #byljk20160526 importos,re,sys,time iflen(sys.argv)==1: print('\n使用方法:请跟上网卡名称,可接"单个网卡"/"多个网卡,以空格分开".\n') sys.exit(100) else: print('startmonitoring,press"ctrl+c"tostop\n') forarginsys.argv[1:]:#输出标头 header='------{}bandwidth(Mb/s)------'.format(arg) print(header.ljust(35),end='') print() #globalvalues_dic values_dic={}#定义空字典,用来在下面函数中存放各网卡的各项需要用到的值 defget_values(orders): try: withopen('/proc/net/dev')asf: lines=f.readlines()#内容不多,一次性读取较方便 forarginsys.argv[1:]: forlineinlines: line=line.lstrip()#去掉行首的空格,以便下面split ifre.match(arg,line): values=re.split("[:]+",line)#以空格和:作为分隔符 values_dic[arg+'r'+orders]=values[1]#1为接收值 values_dic[arg+'t'+orders]=values[9]#9为发送值 #return[values[1],values[9]]#可返回列表 except(FileExistsError,FileNotFoundError,PermissionError): print('openfileerror') sys.exit(-1) try: whileTrue: get_values('first')#第一次取值 time.sleep(10) get_values('second')#10s后第二次取值 forarginsys.argv[1:]: r_bandwidth=(int(values_dic[arg+'r'+'second'])-int(values_dic[arg+'r'+'first']))/1024/1024/10*8 t_bandwidth=(int(values_dic[arg+'t'+'second'])-int(values_dic[arg+'t'+'first']))/1024/1024/10*8 print('IN:'+str(round(r_bandwidth,2)).ljust(8)+'OUT:'+str(round(t_bandwidth,2)).ljust(16),end='') print() values_dic={}#清空本次循环后字典的内容 exceptKeyboardInterrupt: print("\n-----bye-----") 这俩脚本使用起来都还是很方便实用的,共享出来希望能给朋友们工作中带来一点方便。

优秀的个人博客,低调大师

Linux CentOS下Hadoop伪分布再配置,再次一定要玩真的集群啦~~

上次配了一次,没多少感觉。 代码看累了。 配置一次再轻松一下脑袋。。。 不过,这次是在家里的VM上,用最新的JDK-7U-17和上HADOOP-1.1.2搞的。 CENTOS版本来6.3-I386. 一次OK。 这次参考的贴子是: http://bjbxy.blog.51cto.com/854497/352692 相关输出如下: # jps2614 Jps2280 TaskTracker1908 NameNode2110 SecondaryNameNode2012 DataNode2169 JobTracker 报告输出: HDFS管理界面: WORDCOUNT的JOB测试样例运行: ]# ./hadoop jar hadoop-examples-1.1.2.jar wordcount bxy outputException in thread "main" java.io.IOException: Error opening job jar: hadoop-examples-1.1.2.jar at org.apache.hadoop.util.RunJar.main(RunJar.java:90)Caused by: java.io.FileNotFoundException: hadoop-examples-1.1.2.jar (No such file or directory) at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(ZipFile.java:214) at java.util.zip.ZipFile.<init>(ZipFile.java:144) at java.util.jar.JarFile.<init>(JarFile.java:153) at java.util.jar.JarFile.<init>(JarFile.java:90) at org.apache.hadoop.util.RunJar.main(RunJar.java:88)[root@localhost bin]# pwd/usr/local/hadoop/hadoop-1.1.2/bin[root@localhost bin]# ./hadoop jar /usr/local/hadoop/hadoop-1.1.2/hadoop-examples-1.1.2.jar wordcount bxy output12/12/20 07:35:43 INFO input.FileInputFormat: Total input paths to process : 112/12/20 07:35:43 INFO util.NativeCodeLoader: Loaded the native-hadoop library12/12/20 07:35:43 WARN snappy.LoadSnappy: Snappy native library not loaded12/12/20 07:35:45 INFO mapred.JobClient: Running job: job_201212200705_000112/12/20 07:35:46 INFO mapred.JobClient: map 0% reduce 0%12/12/20 07:36:10 INFO mapred.JobClient: map 100% reduce 0%12/12/20 07:36:26 INFO mapred.JobClient: map 100% reduce 100%12/12/20 07:36:30 INFO mapred.JobClient: Job complete: job_201212200705_000112/12/20 07:36:30 INFO mapred.JobClient: Counters: 2912/12/20 07:36:30 INFO mapred.JobClient: Job Counters 12/12/20 07:36:30 INFO mapred.JobClient: Launched reduce tasks=112/12/20 07:36:30 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=2580512/12/20 07:36:30 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=012/12/20 07:36:30 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=012/12/20 07:36:30 INFO mapred.JobClient: Launched map tasks=112/12/20 07:36:30 INFO mapred.JobClient: Data-local map tasks=112/12/20 07:36:30 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=1547212/12/20 07:36:30 INFO mapred.JobClient: File Output Format Counters 12/12/20 07:36:30 INFO mapred.JobClient: Bytes Written=113512/12/20 07:36:30 INFO mapred.JobClient: FileSystemCounters12/12/20 07:36:30 INFO mapred.JobClient: FILE_BYTES_READ=160012/12/20 07:36:30 INFO mapred.JobClient: HDFS_BYTES_READ=128012/12/20 07:36:30 INFO mapred.JobClient: FILE_BYTES_WRITTEN=10552612/12/20 07:36:30 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=113512/12/20 07:36:30 INFO mapred.JobClient: File Input Format Counters 12/12/20 07:36:30 INFO mapred.JobClient: Bytes Read=116612/12/20 07:36:30 INFO mapred.JobClient: Map-Reduce Framework12/12/20 07:36:30 INFO mapred.JobClient: Map output materialized bytes=160012/12/20 07:36:30 INFO mapred.JobClient: Map input records=3412/12/20 07:36:30 INFO mapred.JobClient: Reduce shuffle bytes=160012/12/20 07:36:30 INFO mapred.JobClient: Spilled Records=23012/12/20 07:36:30 INFO mapred.JobClient: Map output bytes=182412/12/20 07:36:30 INFO mapred.JobClient: Total committed heap usage (bytes)=13166592012/12/20 07:36:30 INFO mapred.JobClient: CPU time spent (ms)=897012/12/20 07:36:30 INFO mapred.JobClient: Combine input records=16912/12/20 07:36:30 INFO mapred.JobClient: SPLIT_RAW_BYTES=11412/12/20 07:36:30 INFO mapred.JobClient: Reduce input records=11512/12/20 07:36:30 INFO mapred.JobClient: Reduce input groups=11512/12/20 07:36:30 INFO mapred.JobClient: Combine output records=11512/12/20 07:36:30 INFO mapred.JobClient: Physical memory (bytes) snapshot=18721587212/12/20 07:36:30 INFO mapred.JobClient: Reduce output records=11512/12/20 07:36:30 INFO mapred.JobClient: Virtual memory (bytes) snapshot=75515494412/12/20 07:36:30 INFO mapred.JobClient: Map output records=169

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册