当前位置: 首页 > news >正文

搜索引擎营销网站如何制作微视频宣传片

搜索引擎营销网站,如何制作微视频宣传片,wordpress分享到微博,网站换空间不换域名对seo有影响吗Linux实用运维脚本分享#x1f343; MySQL备份 目录备份 PING查询 磁盘IO检查 性能相关 进程相关 javadump.sh 常用工具安装 常用lib库安装 系统检查脚本 sed进阶 MySQL备份 #!/bin/bashset -eUSERbackup PASSWORDbackup # 数据库数据目录… Linux实用运维脚本分享 MySQL备份 目录备份 PING查询 磁盘IO检查 性能相关 进程相关 javadump.sh 常用工具安装 常用lib库安装 系统检查脚本 sed进阶 MySQL备份 #!/bin/bashset -eUSERbackup PASSWORDbackup # 数据库数据目录 # DATA_DIR/data/mysql BIN_INDEX$DATA_DIR/mysql-bin.index # 备份目录 # BACKUP_DIR/data/backup/mysql BACKUP_LOG/var/log/mysql/backup.logDATEdate %Y%m%d TIMEdate %Y%m%d%HLOG_TIMEdate %Y-%m-%d %H:%M:%S DELETE_BINLOG_TIME7 day INCREMENT_INTERVAL3 hournote() {printf [$LOG_TIME] note: $*\n $BACKUP_LOG; }warning() {printf [$LOG_TIME] warning: $*\n $BACKUP_LOG; }error() {printf [$LOG_TIME] error: $*\n $BACKUP_LOG;exit 1; }full_backup() {local dbsls -l $DATA_DIR | grep ^d | awk -F {print $9}for db in $dbsdolocal backup_dir$BACKUP_DIR/full/$dblocal filename$db.$DATElocal backup_file$backup_dir/$filename.sqlif [ ! -d $backup_dir ]thenmkdir -p $backup_dir || { error 创建数据库 $db 全量备份目录 $backup_dir 失败; continue; }note 数据库 $db 全量备份目录 $backup_dir 不存在创建完成;finote full backup $db start ...mysqldump --user${USER} --password${PASSWORD} --flush-logs --skip-lock-tables --quick $db $backup_file || { warning 数据库 $db 备份失败; continue; }cd $backup_dirtar -cPzf $filename.tar.gz $filename.sqlrm -f $backup_filechown -fR mysql:mysql $backup_dirnote 数据库 $db 备份成功;note full backup $db end.done }increment_backup() {local StartTimedate -d $INCREMENT_INTERVAL ago %Y-%m-%d %H:%M:%Slocal DELETE_BINLOG_END_TIMEdate -d $DELETE_BINLOG_TIME ago %Y-%m-%d %H:%M:%Slocal dbsls -l $DATA_DIR | grep ^d | awk -F {print $9}mysql -u$USER -p$PASSWORD -e purge master logs before $DELETE_BINLOG_END_TIME note delete $DELETE_BINLOG_TIME days before log;filenamecat $BIN_INDEX | awk -F / {print $2}for i in $filenamedofor db in $dbsdolocal backup_dir$BACKUP_DIR/increment/$dblocal filename$db.$TIMElocal backup_file$backup_dir/$filename.sqlif [ ! -d $backup_dir ]thenmkdir -p $backup_dir || { error 创建数据库 $db 增量备份目录 $backup_dir 失败; continue; }note 数据库 $db 增量备份目录 $backup_dir 不存在创建完成;finote increment backup $db form time $StartTime start ...mysqlbinlog -d $db --start-datetime$StartTime $DATA_DIR/$i $backup_file || { warning 数据库 $db 备份失败; continue; }note increment backup $db end.donedonefor db in $dbsdolocal backup_dir$BACKUP_DIR/increment/$dblocal filename$db.$TIMElocal backup_file$backup_dir/$filename.sqlcd $backup_dirtar -cPzf $filename.tar.gz $filename.sqlrm -f $backup_filenote 数据库 $db 备份成功;done }case $1 infull)full_backup;;increment)increment_backup;;*)exit 2;; esacexit 1 目录备份 #!/bin/bash # # # 时间 DATE$(date %Y-%m-%d_%H_%M_%S) # 备份目录 BACKUPDIR/home/backups # 需要备份的目录 SORFILE/opt # 目标文件名 DESFILE/home/backups/$SORFILE.$(date %Y-%m-%d_%H_%M_%S).zip[ ! -d $BACKUPDIR ] mkdir -p $BACKUPDIR cd $BACKUPDIRecho start backup $SORFILE ... sleep 3 #echo $DESFILE#tar cvf $DESFILE $SORFILE #gzip -f .zip $DESFILE zip -r $DESFILE $SORFILE /dev/null if [ $? 0 ] thenecho $(date %Y-%m-%d) zip sucessbackup.log elseecho $(date %Y-%m-%d) zip failedbackup.logexit 0 fi# 删除3天前的备份 find $BACKUPDIR -type f -ctime 3 | xargs rm -rf PING查询 #!/bin/bash #用途根据网络配置对网络地址192.168.0进行修改检查是否是活动状态#{start..end}shell扩展生成一组地址 for ip in 192.168.0.{1..255} do (ping $ip -c 2 /dev/null # 标准输出重定向和1一致# 21 将标准错误输出 重定向 到标准输出# file 将标准输出和标准错误输出都重定向到文件filename中if [ $? -eq 0 ];thenecho $ip is alivefi) done wait #并行ping,加速 磁盘IO检查 ##iostat是查看磁盘活动统计情况##显示所有设备负载情况 r/s:  每秒完成的读 I/O 设备次数。即 rio/sw/s:  每秒完成的写 I/O 设备次数。即 wio/s等 iostat ##每隔2秒刷新磁盘IO信息并且每次显示3次 iostat 2 3#显示某个磁盘的IO信息 iostat -d sda1##显示tty和cpu信息 iostat -t##以M为单位显示磁盘IO信息 iostat -m##查看TPS和吞吐量信息  kB_read/s每秒从设备drive expressed读取的数据量kB_wrtn/s每秒向设备drive expressed写入的数据量kB_read读取的总数据量kB_wrtn写入的总数量数据量 iostat -d -k 1 1#查看设备使用率%util、响应时间await iostat -d -x -k 1 1#查看CPU状态 iostat -c 1 3#统计进程(pid)的stat,进程的stat自然包括进程的IO状况 pidstat#只显示IO pidstat -d  1 #-d IO 信息,-r 缺页及内存信息-u CPU使用率-t 以线程为统计单位1  1秒统计一次 pidstat -u -r -d -t 1#文件级IO分析,查看当前文件由哪些进程打开 lsof    ls /proc/pid/fd#利用 sar 报告磁盘 I/O 信息DEV 正在监视的块设备 tps 每秒钟物理设备的 I/O 传输总量 rd_sec/s 每秒从设备读取的扇区数量 wr_sec/s 每秒向设备写入的扇区数量 avgrq-sz I/O 请求的平均扇区数 #avgqu-sz I/O 请求的平均队列长度 await I/O 请求的平均等待时间单位为毫秒 svctm I/O 请求的平均服务时间单位为毫秒 %util I/O 请求所占用的时间的百分比即设备利用率 sar -pd 10 3 #iotop  top的io版 iotop#查看页面缓存信息 其中的Cached 指用于pagecache的内存大小diskcache-SwapCache。随着写入缓存页Dirty 的值会增加 一旦开始把缓存页写入硬盘,Writeback的值会增加直到写入结束。 cat /proc/meminfo #查看有多少个pdflush进程 Linux 用pdflush进程把数据从缓存页写入硬盘 #pdflush的行为受/proc/sys/vm中的参数的控制/proc/sys/vm/dirty_writeback_centisecs (default 500): 1/100秒, 多长时间唤醒pdflush将缓存页数据写入硬盘。默认5秒唤醒2个更多个线程。如果wrteback的时间长于dirty_writeback_centisecs的时间可能会出问题 cat /proc/sys/vm/nr_pdflush_threads#查看I/O 调度器 #调度算法 #noop anticipatory deadline [cfq]  #deadline :    deadline 算法保证对既定的IO请求以最小的延迟时间。 #anticipatory有个IO发生后如果又有进程请求IO则产生一个默认6ms猜测时间猜测下一个进程请求IO是干什么。这对于随机读取会造成较大的延时。对数据库应用很糟糕而对于Web Server等则会表现不错。 #cfq:        对每个进程维护一个IO队列各个进程发来的IO请求会被cfq以轮循方式处理对每一个IO请求都是公平。适合离散读的应用。 #noop:        对所有IO请求都用FIFO队列形式处理。默认IO不会存在性能问题。 cat /sys/block/[disk]/queue/scheduler#改变IO调度器 $ echo deadline  /sys/block/sdX/queue/scheduler #提高调度器请求队列的 $ echo 4096  /sys/block/sdX/queue/nr_requests性能相关 #查看当前系统load uptime#查看系统状态和每个进程的系统资源使用状况 top#可视化显示CPU的使用状况 htop#查看每个CPU的负载信息 mpstat -P ALL 1#每隔1秒查看磁盘IO的统计信息 iostat -xkdz 1#每隔一秒查看虚拟内存的使用信息 vmstat 1#查看内存使用统计信息 free#查看网络使用信息 nicstat -z 1#类似vmstat的显示优化的工具 dstat 1#查看系统活动状态比如系统分页统计块设备IO统计等 sar#网络连接状态查看 netstat -s#进程资源使用信息查看 pidstat 1 pidstat -d 1#查看某个进程的系统调用信息 -p后面是进程id-tttT 进程系统后的系统调用时间 strace -tttT -p 12670 #统计IO设备输入输出的系统调用信息 strace -c dd if/dev/zero of/dev/null bs512 count1024k#tcpdump 查看网络数据包 tcpdump -nr /tmp/out.tcpdump#块设备的读写事件信息统计 btrace /dev/sdb #iotop查看某个进程的IO操作统计信息 iotop -bod5#slabtop 查看内核 slab内存分配器的使用信息 slabtop -sc#系统参数设置 sysctl -a#系统性能指标统计信息 perf stat gzip file1 #系统cpu活动状态查看 perf record -a -g -F 997 sleep 10进程相关 ## processes  进程管理##ps查看当前系统执行的线程列表进行瞬间状态不是连续状态连续状态需要使用top名称查看  更多常用参数请使用 man ps查看 ps##显示所有进程详细信息 ps aux##-u 显示某个用户的进程列表 ps -f -u www-data ## -C 通过名字或者命令搜索进程 ps -C apache2## --sort  根据进程cpu使用率降序排列查看前5个进程  -pcpu表示降序  pcpu升序 ps aux --sort-pcpu | head -5 ##-f 用树结构显示进程的层次关系父子进程情况下 ps -f --forest -C apache2 ##显示一个父进程的所有子进程 ps -o pid,uname,comm -C apache2 ps --ppid 2359 ##显示一个进程的所有线程  -L 参数 ps -p 3150 -L ##显示进程的执行时间 -o参数 ps -e -o pid,comm,etime ##watch命令可以用来实时捕捉ps显示进程 watch -n 1 ps -e -o pid,uname,cmd,pmem,pcpu --sort-pmem,-pcpu | head -15 ##jobs 查看后台运行的进程  jobs命令执行的结果表示是一个当前的作业减号表是是一个当前作业之后的一个作业jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated,但是如果任务被终止了killshell 从当前的shell环境已知的列表中删除任务的进程标识也就是说jobs命令显示的是当前shell环境中所起的后台正在运行或者被挂起的任务信息 jobs##查看后台运营的进程号 jobs -p##查看现在被终止或者退出的进程号 jobs -n##kill命令 终止一个前台进程可以使用CtrlC键   kill  通过top或者ps获取进程id号  kill [-s 信号 | -p ] [ -a ] 进程号 ... ##发送指定的信号到相应进程。不指定型号将发送SIGTERM15终止指定进程。关闭进程号12的进程 kill 12##等同于在前台运行PID为123的进程时按下CtrlC键 kill -2 123##如果任无法终止该程序可用“-KILL” 参数其发送的信号为SIGKILL(9) 将强制结束进程   kill -9 123##列出所有信号名称 ##HUP    1    终端断线 ##INT     2    中断同 Ctrl  C ##QUIT    3    退出同 Ctrl  \ ##TERM   15    终止 ##KILL    9    强制终止 ##CONT   18    继续与STOP相反 fg/bg命令 ##STOP    19    暂停同 Ctrl  Z kill -l##得到指定信号的数值 kill -l KILL##杀死指定用户所有进程 kill -u peidalinux kill -9 $(ps -ef | grep peidalinux) ##将后台中的命令调至前台继续运行  将进程123调至前台执行 fg 123##将一个在后台暂停的命令变成继续执行 bg  123##该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。nohup就是不挂起的意思  下面输出被重定向到myout.file文件中 nohup command  myout.file 21 ##at计划任务在特定的时间执行某项工作在特定的时间执行一次。 ## 格式at HH:MM YYYY-MM-DD //HH小时:MM分钟 YYYY年-MM月份-DD日 ##HH[am pm]D(天) days //HH小时[am上午pm下午]days天 at 12:00时间 //at命令设定12:00执行一项操作 #atuseradd aaa //在at命令里设定添加用户aaa #ctrld //退出at命令 #tail -f /etc/passwd //查看/etc/passwd文件后十行是否增加了一个用户aaa##计划任务设定后在没有执行之前我们可以用atq命令来查看系统没有执行工作任务。 atq##启动计划任务后如果不想启动设定好的计划任务可以使用atrm命令删除。 atrm 1 //删除计划任务1##pstree命令列出当前的进程以及它们的树状结构  格式pstree [选项] [pid|user] pstree##nice命令改变程序执行的优先权等级 应用程序优先权值的范围从-2019数字越小优先权就越高。一般情况下普通应用程序的优先权值CPU使用权值都是0如果让常用程序拥有较高的优先权等级自然启动和运行速度都会快些。需要注意的是普通用户只能在019之间调整应用程序的优先权值只有超级用户有权调整更高的优先权值从-2019。 nice [-n 优先等级][--help][--version][命令] nice -n 5 ls##sleep命令使进程暂停执行一段时间 date;sleep 1m;date##renice命令 renice命令允许用户修改一个正在运行进程的优先权。利用renice命令可以在命令执行时调整其优先权。 ##其中参数number与nice命令的number意义相同。1 用户只能对自己所有的进程使用renice命令。2 root用户可以在任何进程上使用renice命令。3 只有root用户才能提高进程的优先权 renice -5 -p 5200  #PID为5200的进程nice设为-5 ##pmap命令用于显示一个或多个进程的内存状态。其报告进程的地址空间和内存状态信息 #pmap PID pmap 20367javadump.sh #!/bin/shDUMP_PIDSps  --no-heading -C java -f --width 1000 |awk {print $2} if [ -z $DUMP_PIDS ]; thenecho The server $HOST_NAME is not started!exit 1; fiDUMP_ROOT~/dump if [ ! -d $DUMP_ROOT ]; thenmkdir $DUMP_ROOT fiDUMP_DATEdate %Y%m%d%H%M%S DUMP_DIR$DUMP_ROOT/dump-$DUMP_DATE if [ ! -d $DUMP_DIR ]; thenmkdir $DUMP_DIR fifor PID in $DUMP_PIDS ; do #Full thread dump 用来查线程占用死锁等问题$JAVA_HOME/bin/jstack $PID  $DUMP_DIR/jstack-$PID.dump 21echo -e .\c #打印出一个给定的Java进程、Java core文件或远程Debug服务器的Java配置信息具体包括Java系统属性和JVM命令行参数。$JAVA_HOME/bin/jinfo $PID  $DUMP_DIR/jinfo-$PID.dump 21echo -e .\c #jstat能够动态打印jvm(Java Virtual Machine Statistics Monitoring Tool)的相关统计信息。如young gc执行的次数、full gc执行的次数各个内存分区的空间大小和可使用量等信息。$JAVA_HOME/bin/jstat -gcutil $PID  $DUMP_DIR/jstat-gcutil-$PID.dump 21echo -e .\c$JAVA_HOME/bin/jstat -gccapacity $PID  $DUMP_DIR/jstat-gccapacity-$PID.dump 21echo -e .\c #未指定选项时jmap打印共享对象的映射。对每个目标VM加载的共享对象其起始地址、映射大小及共享对象文件的完整路径将被打印出来  $JAVA_HOME/bin/jmap $PID  $DUMP_DIR/jmap-$PID.dump 21echo -e .\c #-heap打印堆情况的概要信息包括堆配置各堆空间的容量、已使用和空闲情况  $JAVA_HOME/bin/jmap -heap $PID  $DUMP_DIR/jmap-heap-$PID.dump 21echo -e .\c #-dump将jvm的堆中内存信息输出到一个文件中,然后可以通过eclipse memory analyzer进行分析 #注意这个jmap使用的时候jvm是处在假死状态的只能在服务瘫痪的时候为了解决问题来使用否则会造成服务中断。$JAVA_HOME/bin/jmap -dump:formatb,file$DUMP_DIR/jmap-dump-$PID.dump $PID 21echo -e .\c #显示被进程打开的文件信息 if [ -r /usr/sbin/lsof ]; then/usr/sbin/lsof -p $PID  $DUMP_DIR/lsof-$PID.dumpecho -e .\cfi done #主要负责收集、汇报与存储系统运行信息的。 if [ -r /usr/bin/sar ]; then/usr/bin/sar  $DUMP_DIR/sar.dump echo -e .\c fi #主要负责收集、汇报与存储系统运行信息的。 if [ -r /usr/bin/uptime ]; then/usr/bin/uptime  $DUMP_DIR/uptime.dump echo -e .\c fi #内存查看 if [ -r /usr/bin/free ]; then/usr/bin/free -t  $DUMP_DIR/free.dump echo -e .\c fi #可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。 if [ -r /usr/bin/vmstat ]; then/usr/bin/vmstat  $DUMP_DIR/vmstat.dump echo -e .\c fi #报告与CPU相关的一些统计信息 if [ -r /usr/bin/mpstat ]; then/usr/bin/mpstat  $DUMP_DIR/mpstat.dump echo -e .\c fi #报告与IO相关的一些统计信息 if [ -r /usr/bin/iostat ]; then/usr/bin/iostat  $DUMP_DIR/iostat.dump echo -e .\c fi #报告与网络相关的一些统计信息 if [ -r /bin/netstat ]; then/bin/netstat  $DUMP_DIR/netstat.dump echo -e .\c fi echo OK!常用工具安装 #!/usr/bin/env bash# --------------------------------------------------------------------------------- # 控制台颜色 BLACK\033[1;30m RED\033[1;31m GREEN\033[1;32m YELLOW\033[1;33m BLUE\033[1;34m PURPLE\033[1;35m CYAN\033[1;36m RESET$(tput sgr0) # ---------------------------------------------------------------------------------printf ${BLUE}\n cat  EOF ################################################################################### # 安装常用命令工具 # 命令工具清单如下 # 核心工具df、du、chkconfig # 网络工具ifconfig、netstat、route、iptables # IP工具ip、ss、ping、tracepath、traceroute # DNS工具dig、host、nslookup、whois # 端口工具lsof、nc、telnet # 下载工具curl、wget # 编辑工具emacs、vim # 流量工具iftop、nethogs # 抓包工具tcpdump # 压缩工具unzip、zip # 版本控制工具git、subversion # ################################################################################### EOF printf ${RESET}\nprintf \n${GREEN} 安装常用命令工具开始${RESET}\n# 核心工具 printf \n${CYAN} install coreutils(df、du)${RESET}\n yum install -y coreutils printf \n${CYAN} install chkconfig${RESET}\n yum install -y chkconfig# 网络工具 printf \n${CYAN} install net-tools(ifconfig、netstat、route)${RESET}\n yum install -y net-tools printf \n${CYAN} install iptables${RESET}\n yum install -y iptables# IP工具 printf \n${CYAN} install iputils(ping、tracepath)${RESET}\n yum install -y iputils printf \n${CYAN} install traceroute${RESET}\n yum install -y traceroute printf \n${CYAN} install iproute(ip、ss)${RESET}\n yum install -y iproute# 端口工具 printf \n${CYAN} install lsof${RESET}\n yum install -y lsof printf \n${CYAN} install nc${RESET}\n yum install -y nc printf \n${CYAN} install netstat${RESET}\n yum install -y netstat# DNS工具 printf \n${CYAN} install bind-utils(dig、host、nslookup)${RESET}\n yum install -y bind-utils printf \n${CYAN} install whois${RESET}\n yum install -y whois# 下载工具 printf \n${CYAN} install curl${RESET}\n yum install -y curl printf \n${CYAN} install wget${RESET}\n yum install -y wget# 编辑工具 printf \n${CYAN} install emacs${RESET}\n yum install -y emacs printf \n${CYAN} install vim${RESET}\n yum install -y vim# 流量工具 printf \n${CYAN} install iftop${RESET}\n yum install -y iftop printf \n${CYAN} install nethogs${RESET}\n yum install -y nethogs# 抓包工具 printf \n${CYAN} install tcpdump${RESET}\n yum install -y tcpdump# 压缩工具 printf \n${CYAN} install unzip${RESET}\n yum install -y unzip# 版本控制工具 printf \n${CYAN} install git${RESET}\n yum install -y git printf \n${CYAN} install subversion${RESET}\n yum install -y subversionprintf \n${GREEN} 安装常用命令工具结束${RESET}\n常用lib库安装 #!/usr/bin/env bash# --------------------------------------------------------------------------------- # 控制台颜色 BLACK\033[1;30m RED\033[1;31m GREEN\033[1;32m YELLOW\033[1;33m BLUE\033[1;34m PURPLE\033[1;35m CYAN\033[1;36m RESET$(tput sgr0) # ---------------------------------------------------------------------------------printf ${BLUE}\n cat  EOF ################################################################################### # 安装常见 lib # 如果不知道命令在哪个 lib可以使用 yum search xxx 来查找 # lib 清单如下 # gcc gcc-c kernel-devel libtool # openssl openssl-devel # zlib zlib-devel # pcre ################################################################################### EOF printf ${RESET}\nprintf \n${GREEN} 安装常见 lib 开始${RESET}\nprintf \n${CYAN} install gcc gcc-c kernel-devel libtool${RESET}\n yum -y install make gcc gcc-c kernel-devel libtoolprintf \n${CYAN} install openssl openssl-devel${RESET}\n yum -y install make openssl openssl-develprintf \n${CYAN} install zlib zlib-devel${RESET}\n yum -y install make zlib zlib-develprintf \n${CYAN} install pcre${RESET}\n yum -y install pcreprintf \n${GREEN} 安装常见 lib 结束${RESET}\n系统检查脚本 #!/usr/bin/env bash############################################################################## # console color C_RESET$(tput sgr0) C_BLACK\033[1;30m C_RED\033[1;31m C_GREEN\033[1;32m C_YELLOW\033[1;33m C_BLUE\033[1;34m C_PURPLE\033[1;35m C_CYAN\033[1;36m C_WHITE\033[1;37m ##############################################################################printf ${C_PURPLE} cat  EOF ################################################################################### # 系统信息检查脚本 ################################################################################### EOF printf ${C_RESET}[[ $(id -u) -gt 0 ]]  echo 请用root用户执行此脚本  exit 1 sysversion$(rpm -q centos-release | cut -d- -f3) double_line line----------------------------------------------# 打印头部信息 printHeadInfo() {cat  EOF --------------------------------------------------------------------------------- |                           欢迎使用 【系统信息检查脚本】                          | --------------------------------------------------------------------------------- EOF }# 打印尾部信息 printFootInfo() {cat  EOF --------------------------------------------------------------------------------- |                            脚本执行结束感谢使用| --------------------------------------------------------------------------------- EOF }options( 获取系统信息 获取服务信息 获取CPU信息 获取系统网络信息 获取系统内存信息 获取系统磁盘信息 获取CPU/内存占用TOP10 获取系统用户信息 输出所有信息 退出 ) printMenu() {printf ${C_BLUE}printf 主菜单\nfor i in ${!options[]}; doindexexpr ${i}  1valexpr ${index} % 2printf \t(%02d) %-30s ${index} ${options[$i]}if [[ ${val} -eq 0 ]]; thenprintf \nfidoneprintf ${C_BLUE}请输入需要执行的指令\nprintf ${C_RESET} }# 获取系统信息 get_systatus_info() {sys_os$(uname -o)sys_release$(cat /etc/redhat-release)sys_kernel$(uname -r)sys_hostname$(hostname)sys_selinux$(getenforce)sys_lang$(echo $LANG)sys_lastreboot$(who -b | awk {print $3,$4})sys_runtime$(uptime | awk {print  $3,$4} | cut -d, -f1)sys_time$(date)sys_load$(uptime | cut -d: -f5)cat  EOF 【系统信息】 系统: ${sys_os} 发行版本:   ${sys_release} 系统内核:   ${sys_kernel} 主机名:    ${sys_hostname} selinux状态:  ${sys_selinux} 系统语言:   ${sys_lang} 系统当前时间: ${sys_time} 系统最后重启时间:   ${sys_lastreboot} 系统运行时间: ${sys_runtime} 系统负载:   ${sys_load} EOF }# 获取CPU信息 get_cpu_info() {Physical_CPUs$(grep physical id /proc/cpuinfo | sort | uniq | wc -l)Virt_CPUs$(grep processor /proc/cpuinfo | wc -l)CPU_Kernels$(grep cores /proc/cpuinfo | uniq | awk -F :  {print $2})CPU_Type$(grep model name /proc/cpuinfo | awk -F :  {print $2} | sort | uniq)CPU_Arch$(uname -m)cat  EOF 【CPU信息】 物理CPU个数:$Physical_CPUs 逻辑CPU个数:$Virt_CPUs 每CPU核心数:$CPU_Kernels CPU型号:$CPU_Type CPU架构:$CPU_Arch EOF }# 获取服务信息 get_service_info() {port_listen$(netstat -lntup | grep -v Active Internet)kernel_config$(sysctl -p 2 /dev/null)if [[ ${sysversion} -gt 6 ]]; thenservice_config$(systemctl list-unit-files --typeservice --stateenabled | grep enabled)run_service$(systemctl list-units --typeservice --staterunning | grep .service)elseservice_config$(/sbin/chkconfig | grep -E :on|:启用 | column -t)run_service$(/sbin/service --status-all | grep -E running)ficat  EOF 【服务信息】 ${service_config}${line} 运行的服务: ${run_service}${line} 监听端口: ${port_listen}${line} 内核参考配置: ${kernel_config} EOF }# 获取系统内存信息 get_mem_info() {check_mem$(free -m)MemTotal$(grep MemTotal /proc/meminfo | awk {print $2}) #KBMemFree$(grep MemFree /proc/meminfo | awk {print $2}) #KBlet MemUsedMemTotal-MemFreeMemPercent$(awk BEGIN {if($MemTotal0){printf 100}else{printf \%.2f\,$MemUsed*100/$MemTotal}})report_MemTotal$((MemTotal/1024)) MB #内存总容量(MB)report_MemFree$((MemFree/1024)) MB #内存剩余(MB)report_MemUsedPercent$(free | sed -n 2p | gawk x  int(( $3 / $2 ) * 100) {print x} | sed s/$/%/)cat  EOF 【内存信息】 内存总容量(MB): ${report_MemTotal} 内存剩余量(MB):${report_MemFree} 内存使用率: ${report_MemUsedPercent} EOF }# 获取系统网络信息 get_net_info() {pri_ipadd$(ip addr | awk /^[0-9]: / {}; /inet.*global/ {print gensub(/(.*)\/(.*)/, \\1, g, $2)})pub_ipadd$(curl ifconfig.me -s)gateway$(ip route | grep default | awk {print $3})mac_info$(ip link | egrep -v lo | grep link | awk {print $2})dns_config$(egrep -v ^$|^# /etc/resolv.conf)route_info$(route -n)cat  EOF 【网络信息】 系统公网地址:${pub_ipadd} 系统私网地址:${pri_ipadd} 网关地址:${gateway} MAC地址:${mac_info} 路由信息: ${route_info} DNS 信息: ${dns_config} EOF }# 获取系统磁盘信息 get_disk_info() {disk_info$(fdisk -l | grep Disk /dev | cut -d, -f1)disk_use$(df -hTP | awk $2!tmpfs{print})disk_percent$(free | sed -n 2p | gawk x  int(( $3 / $2 ) * 100) {print x} | sed s/$/%/)disk_inode$(df -hiP | awk $1!tmpfs{print})cat  EOF 【磁盘信息】 ${disk_info} 磁盘使用: ${disk_use} 磁盘使用百分比: ${disk_percent} inode信息: ${disk_inode} EOF }# 获取系统用户信息 get_sys_user() {login_user$(awk -F: {if ($NF/bin/bash) print $0} /etc/passwd)ssh_config$(egrep -v ^#|^$ /etc/ssh/sshd_config)sudo_config$(egrep -v ^#|^$ /etc/sudoers | grep -v ^Defaults)host_config$(egrep -v ^#|^$ /etc/hosts)crond_config$(for cronuser in /var/spool/cron/*; dols ${cronuser} 2 /dev/null | cut -d/ -f5; egrep -v ^$|^# ${cronuser} 2 /dev/null;echo ;done)cat  EOF 【用户信息】 系统登录用户: ${login_user}${line} ssh 配置信息: ${ssh_config}${line} sudo 配置用户: ${sudo_config}${line} 定时任务配置: ${crond_config}${line} hosts 信息: ${host_config} EOF }# 获取CPU/内存占用TOP10 get_process_top_info() {top_title$(top -b n1 | head -7 | tail -1)cpu_top10$(top -b n1 | head -17 | tail -11)mem_top10$(top -b n1 | head -17 | tail -10 | sort -k10 -r)cat  EOF 【TOP10】 CPU占用TOP10: ${cpu_top10} 内存占用TOP10: ${top_title}${mem_top10} EOF }show_dead_process() {printf 僵尸进程\nps -al | gawk {print $2,$4} | grep Z }get_all_info() {get_systatus_infoecho ${double_line}get_service_infoecho ${double_line}get_cpu_infoecho ${double_line}get_net_infoecho ${double_line}get_mem_infoecho ${double_line}get_disk_infoecho ${double_line}get_process_top_infoecho ${double_line}get_sys_user }main() {while [[ 1 ]]doprintMenuread optionlocal index$[ ${option} - 1 ]case ${options[${index}]} in获取系统信息)get_systatus_info ;;获取服务信息)get_service_info ;;获取CPU信息)get_cpu_info ;;获取系统网络信息)get_net_info ;;获取系统内存信息)get_mem_info ;;获取系统磁盘信息)get_disk_info ;;获取CPU/内存占用TOP10)get_process_top_info ;;获取系统用户信息)get_sys_user ;;输出所有信息)get_all_info  sys.logprintf ${C_GREEN}信息已经输出到 sys.log 中。${C_RESET}\n\n;;退出)exit ;;*)clearecho 抱歉不支持此选项 ;;esacdone }######################################## MAIN ######################################## printHeadInfo main printFootInfo printf ${C_RESET}sed进阶 #!/bin/bash#多个空格只保留一个 #sed /./,/^$/!d test#删除开头的空白行 #sed /./,$!d test#删除结尾的空白行 sed { :start/^\n*$/{$d; N; b start} } test#删除html标签 #有问题 #s/.*//g#sed s/[^]*//g test1#sed s/[^]*//g;/^$/d test1#and符号代表替换命令中的匹配模式不管预定义模式是什么文本都可以用and符号替换and符号会提取匹配替换命令中指定替换模式中的所有字符串 echo The cat sleeps in his hat | sed s/.at//g#替换单独的单词 echo The System Administrator manual | sed s/\(System\) Administrator/\1 user/#在长数字中插入逗号 echo 1234567 | sed {:start; s/\(.*[0-9]\)\([0-9]\{3\}\)/\1,\2/; t start}#给文件中的行编号 sed  test | sed N; s/\n/ /
http://www.zqtcl.cn/news/100453/

相关文章:

  • 网站建设首选亿企联盟做网站宣传有用吗
  • 网站建设公司行业苏州高端网站建设咨询
  • 电商平台网站开发过程江苏省建设科技发展中心网站简介
  • 空间租用 网站开发重庆手机网站推广资料
  • 新余 网站建设网站建设行业新闻
  • 做301网站打不开网上智慧团建网站
  • 四川省住房与城乡建设厅官方网站免费域名解析ip
  • 芜湖网站建设价格这么做网站原型图
  • 做传奇网站怎么弄的南京微网站开发
  • 网站建设基础教程人教版网站域名选择的原则
  • u盘做网站网站建设公司公司介绍
  • 嘉兴网站排名优化报windows wordpress 轻量级
  • html5网站开发方案海珠网站建设公
  • 津做网站建筑网课平台
  • 佛山制作手机网站汕头网站定制
  • 网站域名解释怎么做济南集团网站建设
  • 网站怎么做咨询网站开发商
  • 建立网站的第一步网站的管理系统
  • 安远做网站做宣传册网站
  • 网站建设概况君隆网站建设
  • 富源县住房和城乡建设局网站备案信息 网站名
  • 做门窗的网站宁波附近的seo推广
  • 上海网站建设解决方案怎样设计网站
  • 龙华建站公司seo研究中心怎么样
  • 网站的大图标怎么做项目网站
  • 南京网站设计机构wap网站设计方案
  • 建站点怎么做网站wordpress 重写规则
  • 泰州做网站优化服装网站建设方案ppt
  • wordpress怎么设计网站微商城科技
  • 昆山营销型网站建设旅游网页制作模板教程