dev

Web服务器磁盘满故障

守給你的承諾、 提交于 2020-03-12 16:45:03
Web服务器磁盘满故障 问题: 硬盘显示被写满,但是用du -sh /*查看时占用硬盘空间之和还远小于硬盘大小,即找不到硬盘分区是怎么被写满的。 今天下午接到同事紧急求助,说生产线服务器硬盘满了。该删的日志都删掉了。可空间还是满的,情况危急啊。这个问题,在多年以前直接和间接的遇到过1-2次。以前太懒惰了,这次记录下来和大家分享。 相关日志如下: █ 查看硬盘分区大小 1 [root@www ~]# cat /etc/redhat- release 2 CentOS release 6.4 (Final) 3 [root@www ~]# df - h 4 Filesystem Size Used Avail Use% Mounted on 5 /dev/sda3 117G 111G 0 100 % / 6 /dev/sda1 145M 12M 126M 9 % / boot 7 tmpfs 3 .0G 0 3 .0G 0 % /dev/shm 这是一台web服务器(apache+tomcat+mysql) 通过dh -h命令查看 总大小117G,使用了111G 1 [root@www /]# fdisk - l 2 3 Disk /dev/sda: 146.8 GB, 146815733760 bytes 4 255 heads, 63 sectors/track, 17849

Linux-标准字符设备

萝らか妹 提交于 2020-03-12 16:42:03
Linux-.标准字符设备 标准字符是内核对字符设备驱动的一种管理方式。 标准字符设备和早期字符、杂项字符设备本质上相同,都是对字符设备驱动的不同管理方式。 一个设备驱动,不管用早期字符设备、杂项字符设备、标准字符设备去管理,设备驱动功能没有任何区别! 标准字符设备是由早期字符设备拓展得到的,是由早期字符设备发展而来的,和早期字符设备80%相似! 标准字符设备的用途:主要在早期字符设备基础上,拓展了设备号的范围! 标准字符设备也可以用来管理一类类的设备! 特殊声明:标准字符设备的设备号分配比较灵活、自由! 3.1 标准字符设备的特性 字符设备具备三种核心属性:设备号、设备节点文件、文件操作集合 标准字符设备的设备号分布:u32 devnum = (major << 20) | minor; 主设备号: 0 ~ 2^12 次设备号: 0 ~ 2^20 设备节点文件: 标准字符设备注册成功之后,分配得到设备号。但是设备节点文件并不会自动创建,需要手动创建! 例: mknod /dev/led_hehe c major minor 文件操作集合: 所有设备驱动的文件操作集合完全相同。 3.2 标准字符设备结构体 标准字符设备结构体实质上和早期字符设备结构体一样! 标准字符设备结构体:struct cdev struct cdev { struct kobject kobj; struct

SHELL常用命令总结

不打扰是莪最后的温柔 提交于 2020-03-12 16:15:16
举例: Linux shell命令应该算是非常入门的东西,但是实际上在使用的时候,会遇到各种各样的问题, 前几天我在我们的项目上需要做一个功能,根据进程名字杀死这个进程,下面是过程 1、我们正常需要的操作是 $ps |grep xxx $kill -9 xx 2、kill命令是常用的,但是用killall命令会更快 $killall -9 xxx 3、令我困扰的是我用的那个没有killall然后我做了下面的操作 $adb shell ps |grep speech |awk '{print $2}' > 1.txt $cat 1.txt |xargs -n1 adb shell kill -9 我用这个的原因是用一条指令重定向总是各种问题,正常情况下用这条就可以了 $adb shell ps |grep speech |awk '{print $2}'|xargs -n1 kill -9 常用命令: 关机/重启 关机(必须用root用户) shutdown -h now ## 立刻关机 shutdown -h +10 ## 10分钟以后关机 shutdown -h 12:00:00 ##12点整的时候关机 halt # 等于立刻关机 重启 shutdown -r now reboot # 等于立刻重启 echo root@ubuntu:~# a="hello,world" root

Inodes 100%使用排查

前提是你 提交于 2020-03-12 13:49:49
今天登录测试机器发现oracle无法启动,启动报错no space on device ,反复确认硬盘空间没有满: [root@new ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_oracle11g-lv_root 66G 52G 11G 84% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/sda1 477M 40M 412M 9% /boot [root@new ~]# 进一步检查,发现Inodes使用率100% [root@new ~]# df -i Filesystem Inodes IUsed IFree IUse% Mounted on /dev/mapper/vg_oracle11g-lv_root 4340752 4340752 0 100% / tmpfs 479500 1 479499 1% /dev/shm /dev/sda1 128016 39 127977 1% /boot 然后用以下语句检查,发现/var竟然用了4150912个inodes: [root@new ~]# for i in /*; do echo $i; find $i | wc -l; done /BENCHMARKS.md 1 /bin 122 /boot 30

常用git提交代码命令

元气小坏坏 提交于 2020-03-12 12:15:42
git config core.fileMode true git开启文件权限 false git关闭文件权限 git diff查看修改内容,不会包含新增文件,也不会显示已经add的文件 git checkout 加上修改过的文件名称取消本次文件修改 git add 准备提交的文件需要git add git reset 取消add git pull 更新本地代码 git commit -m 'plat[fix]:add pool config func' 本地提交 git reset --soft HEAD^取消本次commit git push 提交上传git库 例子: git add plat/web/usr/webgui/gui/role/admin/disaster/lunsnapshot/VirtualSnapshot.js plat/extdm/weblib/ git pull git commit -m 'plat[modified]: plat/web/usr/webgui/gui/role/admin/disaster/lunsnapshot/VirtualSnapshot.js' git push git branch 和 git checkout经常在一起使用,所以在此将它们合在一起   1.Git branch     一般用于分支的操作,比如创建分支

Git merge

↘锁芯ラ 提交于 2020-03-12 05:36:21
拉取一个新分支,在新分支上开发,开发完成后,将个人开发分支合并到迭代开发主分支。 如: 现在上线的分支是master,目前迭代开发的分支是dev-2.10,由于有众多的同事一起分工合作开发,我是其中的一员,所以在dev-2.10上单独拉取一个new-dev-2.10-1004176分支来进行开发,其中1004176是这次迭代中我的任务的ID 在我拉取的单独分支new-dev-2.10-1004176开发完成后,切换到主分支,(将我的分支合并到主分支) D:\huice-git\java-mp ( new-dev-2.10-1004176 - > origin/hzz@wangdian.cn ) λ git checkout dev-2.10 拉取最新代码 D:\huice-git\java-mp ( dev-2.10 - > origin/hzz@wangdian.cn ) λ git pull 合并我的开发分支到主开发分支 D:\huice-git\java-mp ( dev-2.10 - > origin/hzz@wangdian.cn ) λ git merge new-dev-2.10-1004176 合并完成后,提交到远程仓库 D:\huice-git\java-mp ( dev-2.10 - > origin/hzz@wangdian.cn ) λ git push

Linux下查看文件和文件夹大小

孤街浪徒 提交于 2020-03-12 04:56:53
当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。 du可以查看文件及文件夹的大小。 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。 下面分别简要介绍 df命令可以显示目前所有文件系统的可用空间及使用情形 ,请看下列这个例子: [root@iZ620s8jm9iZ home]# df -h Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 19G 0 100% / devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.7G 925M 2.8G 25% /dev/shm tmpfs 3.7G 81M 3.7G 3% /run tmpfs 3.7G 0 3.7G 0% /sys/fs/cgroup /dev/xvdb1 296G 106G 175G 38% /mnt 参数 -h 表示使用「Human-readable」的输出,也就是在档案系统大小使用 GB、MB 等易读的格式。 上面的命令输出的第一个字段(Filesystem)及最后一个字段(Mounted on)分别是档案系统及其挂入点。我们可以看到 /dev/xvdb1

21.Git多人协作

為{幸葍}努か 提交于 2020-03-12 03:23:17
多人协作 当你从远程仓库克隆时,实际上Git自动把本地的 master 分支和远程的 master 分支对应起来了,并且,远程仓库的默认名称是 origin 。 要查看远程库的信息,用 git remote : $ git remote origin 或者,用 git remote -v 显示更详细的信息: $ git remote -v origin git@github.com:michaelliao/learngit.git (fetch) origin git@github.com:michaelliao/learngit.git (push) 上面显示了可以抓取和推送的 origin 的地址。如果没有推送权限,就看不到push的地址。 推送分支 推送分支,就是把该分支上的所有本地提交推送到远程库。推送时,要指定本地分支,这样,Git就会把该分支推送到远程库对应的远程分支上: $ git push origin master 如果要推送其他分支,比如 dev ,就改成: $ git push origin dev 但是,并不是一定要把本地分支往远程推送,那么,哪些分支需要推送,哪些不需要呢? master 分支是主分支,因此要时刻与远程同步; dev 分支是开发分支,团队所有成员都需要在上面工作,所以也需要与远程同步; bug分支只用于在本地修复bug,就没必要推到远程了

手把手教你用git

痴心易碎 提交于 2020-03-11 23:58:48
一、如何安装 git 下载地址: https://git-scm.com/download/win 根据自己的电脑选择是32 位的还是 64 位的。下载完后直接运行,之后一直 next 就好了。安装成功后,会有这样一个标志。 二、 如何使用 git (1) 首先你要点进去 https://github.com/ 这个网站,注册一个 github 账号 。注册好之后,要记住邮箱和密码。 (2 ) 打开之前的那个图标就是这样一个窗口,首先Git是分布式版本控制系统,所以需要填写用户名和邮箱作为一个标识,分别输入这两个命令,用户名和邮箱需要换成自己的。 (3) 打开之前的那个图标就是这样一个窗口。现在比如我在我的C:/wamp/www/aaa 有一个项目,我要对它进行管理怎么办呢。直接在控制台里面输入 cd c:/wamp/www/aaa 之后你就会在 aaa 这个目录里面了 。那如何对它进行管理呢。直接在控制台输入 git init 之后你去查看 aaa 目录里面发现里面多了这样一个东西 。 这是一个隐藏文件夹,有点电脑看不见,是因为文件夹选项设置的隐藏文件不可见,这个去控制面板里的文件夹选择设置一下就好了。 下面我们接着来操作,试着开始写我们的项目。 首先我写一个首页叫 index.html 现在我在我的页面里写好了这样一段话,保存之后我们接着来进行操作。 现在我们开始在 git

linux系统基本结构

末鹿安然 提交于 2020-03-11 19:24:07
一、 Linux控制台的使用与硬件资源管理 1、 Linux控制台的使用 Linux系统由桌面控制台和字符控制台组成,桌面系统其实就是我们安装软件包时的X-window视窗,而X-window的实质是在命令行下运行的一个应用程序。字符控制台是Linux系统的核心,大部分操作都是在字符界面下完成的。 默认Linux下有6个字符控制台,每个控制台可以独立作业,互不影响,真正体现了Linux系统的“多用户、多任务”的特性。 在图形界面下要转入字符界面时,只需按下“Ctrl+Alt+F1”到“F6”组合键中的任何一个,即可进入字符界面。相反,如果要从字符界面切换到X-window下,可以在字符界面命令行输入“startx”或者按下“Ctrl+Alt+F7”组合键即可。 控制台终端(/dev/ttyn)虚拟终端(/dev/pts/n) Linux系统的默认管理员用户是root,与Windows的管理员用户Administrator类似,root用户可以操作系统的任何文件和设备,拥有最高权限。输入登录的用户名root,然后输入对应的密码,即可登录Linux系统了 2、 Linux硬件资源管理 (1)查看CPU信息 [root@localhost ~]# more /proc/cpuinfo 要查看系统物理CPU的个数,可通过如下命令查看: [root@centos7 ~]# cat /proc