linux文件系统

顺丰删库工程师遭开除,难道他不会恢复误删数据?

牧云@^-^@ 提交于 2019-12-14 21:30:30
以下内容仅代表个人观点 顺丰删库事件回顾: 据悉,顺丰科技数据中心的一位邓某因误删生产数据库,导致某项服务无法使用并持续590分钟。事发后,顺丰将邓某辞退,且在顺丰科技全网通报批评。真实地玩了一把“从删库到跑路”。 毫无疑问地,我们又突然象被打了鸡血般,整了整衣领,挺了挺胸,存在感立马爆棚,拉个小板凳,就着中秋节的月光,絮絮叨叨地讲讲想当年。 好汉要提当年勇,回忆我们的牛X岁月 想当年 ,我国那啥机构,设备升级改造,生产库在线热迁,脚本写错,rm掉了,然后,我们XXX,全部恢复所有数据(此处省略几万字,包含数十个自我标榜的“牛X”助词)。可惜,得替用户保密。 想当年 ,那啥机构,因为那啥,然后,……,算了,不能说,反正老传奇了。 啥也不能说,就从技术角度聊一聊,论删库到恢复,再到跑不了路的作死人生。我肯定不会聊找个收费或开源数据恢复软件恢复,丢不起那人。不聊Windows,因为基本和它无关。仅限Unix、Linux上删除oracle、db2、mysql、Hadoop等的情况,就以rm -f为例吧。 分割线:正谈数据库删除后的恢复方法 数据库的载体有多种实现方式,文件或裸设备。多数情况下,系统会以文件的方式(一切皆为文件)对数据库数据文件进行管理。一套数据库,简单地看,物理上可以理解为一个或多个文件。删库,也就是删一个或多个文件了。 文件是存储在文件系统内的

linux-系统目录结构

ⅰ亾dé卋堺 提交于 2019-12-14 11:52:35
登录系统后,输入ls可以查看到根目录下的所有的目录 树状目录结构: 以下是对这些目录的解释: /bin: bin是Binary的缩写, 这个目录存放着最经常使用的命令。 /boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev : dev是Device(设备)的缩写, 该目录下存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。 /etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。 /home: 用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。 /lib: 这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。 /lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。 /media: linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。 /mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。 /opt: 这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。

linux各个文件夹的作用

最后都变了- 提交于 2019-12-12 18:08:07
/ 根目录   包含了几乎所的文件目录。相当于中央系统。进入的最简单方法是:cd /。 /boot 引导程序,内核等存放的目录 这个目录,包括了在引导过程中所必需的文件。在最开始的启动阶段,通过引导程序将内核加载到内存,完成内核的启动(这个时候, 虚拟文件系统 还不存在,加载的内核虽然是从硬盘读取的,但是没经过Linux的 虚拟文件系统 ,这是比较底层的东西来实现的。然后内核自己创建好 虚拟文件系统 ,并且从虚拟文件系统的其他子目录中(例如/sbin 和 /etc加载需要在开机启动的其他程序或者服务或者特定的动作(部分可以由用户自己在相应的目录中修改相应的文件来配制。如果我们的机器中包含多个操作系统,那么可以通过修改这个目录中的某个配置文件(例如grub.conf来调整启动的默认操作系统,系统启动的择菜单,以及启动延迟等参数。 /sbin 超级用户 可以使用的命令的存放目录 存放大多涉及 系统管理 的命令(例如引导系统的init程序,是超级权限用户root的可执行命令存放地,普通用户无权限执行这个目录下的命令(但是有时普通用户也可能会用到。)我们要记住,凡是目录sbin中包含的都是 root权限 才能执行的。 /bin 普通用户可以使用的命令的存放目录 系统所需要的那些命令位于此目录,比如ls、cp、mkdir等命令;类似的目录还/usr/bin,/usr/local/bin等等

linux常用命令

假如想象 提交于 2019-12-12 15:45:53
系统信息 arch 显示机器的处理器架构(1) 斜体样式 uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作 cat /proc/cpuinfo 显示CPU info的信息 cat /proc/interrupts 显示中断 cat /proc/meminfo 校验内存使用 cat /proc/swaps 显示哪些swap被使用 cat /proc/version 显示内核的版本 cat /proc/net/dev 显示网络适配器及统计 cat /proc/mounts 显示已加载的文件系统 lspci -tv 罗列 PCI 设备 lsusb -tv 显示 USB 设备 date 显示系统日期 cal 2007 显示2007年的日历表 date 041217002007.00 设置日期和时间 - 月日时分年.秒 clock -w 将时间修改保存到 BIOS * * * 关机 ( 系统的关机、重启以及登出 ) * * * shutdown -h now 关闭系统(1) init 0 关闭系统(2) telinit 0 关闭系统(3)

docker 存储驱之overlayFS

∥☆過路亽.° 提交于 2019-12-12 08:58:39
一、概述 docker镜像采用分层分层构建设计,每层称为"layer", layer存放在/data/docker/存储驱动/目录下面 这些存储驱动有,AUFS,OverlayFS等,可以通过docker info命令查看存储驱动,centos7.1+默认采用OverlayFS模式. 二、OverlayFS介绍 OverlayFS是一种堆叠文件系统,建立在其他文件系统之上,并不参与磁盘底层划分,只是将底层文件系统目录"合并",实际是伪合并,只是呈现给用户好像一个文件系统结构,这也就是联合挂载技术,对比于AUFS,OverlayFS速度更快,实现更简单,因为OverlayFS只分两层,只读层,和读写层, Linux 内核为Docker提供的OverlayFS驱动有两种:overlay和overlay2。而overlay2是相对于overlay的一种改进,在inode利用率方面比overlay更有效。但是overlay有环境需求:docker版本17.06.02+,宿主机文件系统需要是ext4或xfs格式. 联合挂载技术: 来源: 51CTO 作者: 小白的希望 链接: https://blog.51cto.com/haoyonghui/2457914

Linux系统磁盘分区及挂载 - fdisk

霸气de小男生 提交于 2019-12-11 10:31:48
Linux系统磁盘分区及挂载 - fdisk 文本关键字:文件系统,磁盘分区,格式化,挂载 一、文件系统 1. 文件系统的作用 当我们拿到一块新的硬盘时,他所能够支持的最大空间只是代表硬件上的一个参数,我们要想让他能够正常的工作起来,必须要有相应的文件系统。文件系统决定了文件存储和管理时的方式和数据结构,也就是如何管理磁盘上的文件和文件夹。不同的文件系统拥有不同的特点,这也就是为什么我们在进行格式化操作必须要选定一种文件系统的原因。 当在一个操作系统(Windows、Linux、MacOS)中使用文件系统时,通常都会做一个统一的接口,来进行文件的读写,所以会存在某些文件系统只适用与某一种操作系统的情况。 系统调用接口:系统为用户的使用提供的接口 虚拟文件系统:整合不同的文件系统的API接口,使用统一的方式来操作,如挂载、创建目录等 文件系统:具体使用什么文件系统类型,由使用者通过格式化命令来决定 通用块设备层:对于不同的硬盘驱动进行管理,为上一次提供统一的接口 设备驱动:对于不同的硬件设备会有相应的驱动,保证磁盘可用,通用的硬盘驱动也会直接编译到内核中 2. 常见Linux文件系统 MINIX:Linux最早使用的文件系统,目前主流版本的Linux系统已不再使用 EXT:CentOS 5/6主要使用的文件系统(EXT2、EXT3、EXT4) EXT3:最大能够管理16TB的单个分区

Linux —— 文件系统(一)

时间秒杀一切 提交于 2019-12-11 10:16:20
浅析Linux文件系统(一) 前几天做了通过ssh获取目标机器的根文件系统的小程序,在写程序的时候发现以前没有重视的知识点,现加以总结与回顾。 项目地址: GitHub - MidCheck - rootfs_downloader 目标机: Metasploitable 目录结构 大部分Linux系统都有以下结构: / 根目录,作为树形结构文件系统的根结点,是Linux系统所有文件的起始路径。 /bin 二进制目录,该文件夹包含基本的可执行文件,这些文件是系统最小工作所必须的。这些命令在runing 1中可用,用于基本管理。 此文件夹中可用的命令可以由每个用户访问,并且可以由每个用户运行。此文件夹包含基本命令,例如cat、chgrp、chmod、chown、cp、date、dd、df、dir、echo、grep、gzip、ln、ls、lsmod、mkdir、more、mv、ps、mv等。 请注意:一些命令是shell自带命令,而不是Linux系统提供命令,如cd命令,实现在shell程序里。 /boot 启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。 /dev 设备文件目录,在Linux中一切皆文件,设备也是以文件形式出现。在此目录里大多数文件用ls -l查看可以发现大多数权限符前是字符"c"(字符设备,例如tty1)、“b”(块设备,例如sda)。 /etc

Linux基础之文件系统

删除回忆录丶 提交于 2019-12-10 20:40:42
什么是文件系统?   文件系统是操作系统对存储设备上文件一种管理机制,不同的管理机制形成了不同的文件系统; 文件系统划分   按IO栈的层级来分,可以分为VFS和具体文件系统两层。VFS屏蔽不同的文件系统,向上提供统一的访问接口,具体的文件系统则为具体的文件系统实现,比如ext4、overlayfs等;   按存储介质的不同,文件系统可以分为三类: 基于磁盘的文件系统,常见的有Ext4、XFS、OverlayFS 等文件系统; 基于内存的文件系统,比如常用的 /proc 文件系统; 网络文件系统,也就是用来访问其他计算机数据的文件系统,比如 NFS、SMB、iSCSI 等; 挂载点 查看文件系统挂载点 df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/ubuntu-root 909G 565G 299G 66% / none 4.0K 0 4.0K 0% /sys/fs/cgroup udev 3.9G 4.0K 3.9G 1% /dev tmpfs 785M 1.2M 784M 1% /run none 5.0M 0 5.0M 0% /run/lock none 3.9G 62M 3.8G 2% /run/shm none 100M 48K 100M 1% /run/user /dev/sda1 228M

linux学习——文件系统结构

允我心安 提交于 2019-12-10 06:49:33
简介 1.Linux是一个单根倒转的树状结构。 2.文件系统的根为“/”(顶级目录)。 3.文件系统严格区分大小写,而window不作区分。 4.路径使用“/”做区分(而在window中用“\”做区分) 5.几乎所有的类,都是树状结构 当前的工作目录 1.每一个shell或者系统进程都有一个当前工作目录。 2.使用pwd可以显示当前的工作目录。 文件名称 1.文件和文件夹没有区别。 2.文件的名称大小写敏感 3.文件名称最多255个字符 4.除了正斜线外都是有效字符 5.touch创建一个文件,刷新已有文件时间 6.touch.“filaname”隐藏文件 ls的用法 ls -a显示出隐藏的文件,绝大数为配置文件(隐藏文件);蓝色的为目录 ls -l显示文件的详细信息 ls -R递归的显示子目录 ls -ld 用法 ls 目标目录 ls -ld 目标目录 显示目标目录信息 查看文件类型 通过file命令可以查看文件的信息 绝对路径和相对路径 在命令行形势下引入文件,两种方法:一种是通过绝对路径,一种是通过相对路径。 绝对路径和相对路径 绝对路径:以根目录为起点,层级的进入目标路径 相对路径:一当前目录为起点,直到目标目录 区别:绝对路径不受当前工作目录影响;相对路径收当前工作目录影响。 操作方式 绝对路径:/usr/“”/“目标文件” 相对路径:../../usr/“目标文件”

20191209 Linux就该这么学(6)

徘徊边缘 提交于 2019-12-09 20:20:00
6. 存储结构与磁盘划分 6.1 一切从“/”开始 Linux 系统中的一切文件都是从“根(/)”目录开始的,并按照文件系统层次化标准(FHS)采用树形结构来存放文件,以及定义了常见目录的用途。 FHS 是根据以往无数 Linux 系统用户和开发者的经验而总结出来的,是用户在 Linux 系统中存储文件时需要遵守的规则,用于指导我们应该把文件保存到什么位置,以及告诉用户应该在何处找到所需的文件。但是, FHS 对于用户来讲只能算是一种道德上的约束。 在 Linux 系统中另外还有一个重要的概念—路径。路径指的是如何定位到某个文件,分为绝对路径与相对路径。绝对路径指的是从根目录(/)开始写起的文件或目录名称,而相对路径则指的是相对于当前路径的写法。 6.2 物理设备的命名规则 系统内核中的 udev 设备管理器会自动把硬件名称规范起来,目的是让用户通过设备文件的名字可以猜出设备大致的属性以及分区信息等; 一台主机上可以有多块硬盘,因此系统采用 a~p 来代表 16 块不同的硬盘(默认从 a 开始分配),而且硬盘的分区编号也很有讲究: 主分区或扩展分区的编号从 1 开始,到 4 结束; 逻辑分区从编号 5 开始 主分区、扩展分区和逻辑分区的概念 6.3 文件系统与数据资料 Linux系统支持数十种的文件系统,而最常见的文件系统如下所示: Ext3 :是一款日志文件系统