服务器自动挂载第二块硬盘

Centos系统请使用以下命令:

  1. yum install wget -y && wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh && bash auto_disk.sh

复制代码

Ubuntu系统请使用以下命令:

  1. wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh && sudo bash auto_disk.sh

复制代码

Debian系统请使用以下命令:

  1. wget -O auto_disk.sh http://download.bt.cn/tools/auto_disk.sh && bash auto_disk.sh

复制代码

19版centos8安装nvdia驱动时的报错的解决办法

错误日志里面提示安装

please install libelf-dev, libelf-devel or elfutils-libelf-devel

这个提示有错误!!请执行下面的命令!!!

yum install elfutils-libelf-devel

再次安装显卡驱动,完美解决

用shell命令操作数据库

有时候, 要批量执行sql语句, 怎么搞起呢? 在不会shell之前, 我这么搞: 先写一大堆命令, 一起复制到mysq中l执行, 呵呵哒, 虽能笑掉大牙, 但偶尔会有用。 很低级。下面, 我们一起来看看比较好的姿势。

姿势一: shell脚本中写sql语句, 这是我们最容易想到的

来看看, db.sh文件内容如下:

#! /bin/bash
host="xxx"
port="xxx"
userName="xxx"
password="xxx"
dbname="xxx"
dbset="--default-character-set=utf8 -A"

cmd="show tables"

mysql -h${host} -u${userName} -p${password} ${dbname} -P${port} -e "${cmd}"
执行./db.sh, 获取到了正确的结果。 注意: cmd中可以包含多条命令

#! /bin/bash
host="xxx"
port="xxx"
userName="xxx"
password="xxx"
dbname="xxx"
dbset="--default-character-set=utf8 -A"

cmd="show tables;
show table;
show table;"

mysql -h${host} -u${userName} -p${password} ${dbname} -P${port} -e "${cmd}"

当然, 你也可以这么搞:

#! /bin/bash
host="xxx"
port="xxx"
userName="xxx"
password="xxx"
dbname="xxx"
dbset="--default-character-set=utf8 -A"

mysql -h${host} -u${userName} -p${password} ${dbname} -P${port} << EOF

show tables;
show tables;
show tables;

EOF
为了保险起见, 根据经验, 经常需要在上述sql语句后加上 exit;语句, 确保mysql退出。

姿势二: 写sql文件, 然后在shell中执行, test.sql文件内容为:

show tables;
执行:
mysql -hDbIP -uUserName -pPassword DbName -PDbPort --default-character-set=utf8 -A < "test.sql"
请注意替换该替换的, 如DbIP, UserName, Password, DbName, DbPort
试了一下, OK的, 结果符合预期。

上述执行语句也可以改为:

mysql -hDbIP -uUserName -pPassword DbName -PDbPort --default-character-set=utf8 -A -e "source test.sql"
亦可。

安装win10和centos双系统,在centos7下恢复win10引导。

方式:使用ntfs-3g

步骤:

1、加源  wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

    CentOS默认源里没有ntfs3g,可通过添加aliyun的epel源来yum安装

2、安装  yum update;

yum install ntfs-3g

3、grub2-mkconfig -o /boot/grub2/grub.cfg

该过程中会自动找到win10的启动项目,并加入启动列表,重启即可看到centos7和win10的启动

使用grub2-editenv list 可以查看grub.cfg中的入口项,通过grub2-set-default + 字符串可以设置默认的启动项

# grub2-editenv list
saved_entry=CentOS Linux 7 (AltArch)

[root@localhost ~]# grub2-set-default "CentOS Linux 7 (AltArch)"

问题:

有些主板读取不出来。手动:

BEGIN /etc/grub.d/30_os-prober

menuentry 'Windows 10 (loader) (on /dev/nvme0n1p1)' --class windows --class os $menuentry_id_option 'osprober-chain-9EB03FC6B03FA3A5' {
insmod part_msdos
insmod ntfs
set root='hd0,msdos1'
if [ x$feature_platform_search_hint = xy ]; then
search --no-floppy --fs-uuid --set=root --hint='hd0,msdos1' 9EB03FC6B03FA3A5
else
search --no-floppy --fs-uuid --set=root 9EB03FC6B03FA3A5
fi
parttool ${root} hidden-
drivemap -s (hd0) ${root}
chainloader +1
}

END /etc/grub.d/30_os-prober

menuentry "Windows 10" {
set root='(hd0,gpt2)'
chainloader /EFI/microsoft/BOOT/bootmgfw.efi
}

http://wangliqiang.com/wp-admin/post.php?post=276&action=edit

CENTOS7的备份与还原

在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历。如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统。Norton Ghost是备份Windows系统时经常使用的备份工具。

在备份Windows系统的时候你可能想过,我能不能把整个C盘都放到一个ZIP文件里去呢。这在Windows下是不可能的,因为在Windows中有很多文件在它们运行时是不允许拷贝或覆盖的,因此你需要专门的备份工具对Windows系统进行特殊处理。

和 备份Windows系统不同,如果你要备份Ubuntu系统(或者其它任何Linux系统),你不再需要像Ghost这类备份工具。事实上,Ghost 这类备份工具对于Linux文件系统的支持很糟糕,例如一些Ghost版本只能完善地支持Ext2文件系统,如果你用它来备份Ext3文件系统,你可能会 丢失一些宝贵的数据。

1. 备份系统

我该如何备份我的Ubuntu系统呢?很简单,就像你备份或压缩其它东西一样,使用TAR。和Windows不同,Linux不会限制root访问任何东西,你可以把分区上的所有东西都扔到一个TAR文件里去!

首先成为root用户:
$ sudo su

然后进入文件系统的根目录(当然,如果你不想备份整个文件系统,你也可以进入你想要备份的目录,包括远程目录或者移动硬盘上的目录):
# cd /

下面是我用来备份系统的完整命令:
# tar cvpzf backup.tgz –exclude=/proc –exclude=/lost+found –exclude=/backup.tgz –exclude=/mnt –exclude=/sys /

让我们来简单看一下这个命令:

“tar”当然就是我们备份系统所使用的程序了。

“cvpfz”是tar的选项,意思是“创建档案文件”、“保持权限”(保留所有东西原来的权限)、“使用gzip来减小文件尺寸”。

“backup.gz”是我们将要得到的档案文件的文件名。

“/”是我们要备份的目录,在这里是整个文件系统。

在 档案文件名“backup.gz”和要备份的目录名“/”之间给出了备份时必须排除在外的目录。有些目录是无用的,例如“/proc”、“/lost+ found”、“/sys”。当然,“backup.gz”这个档案文件本身必须排除在外,否则你可能会得到一些超出常理的结果。如果不把“/mnt”排 除在外,那么挂载在“/mnt”上的其它分区也会被备份。另外需要确认一下“/media”上没有挂载任何东西(例如光盘、移动硬盘),如果有挂载东西, 必须把“/media”也排除在外。

有人可能会建议你把“/dev”目录排除在外,但是我认为这样做很不妥,具体原因这里就不讨论了。

执行备份命令之前请再确认一下你所键入的命令是不是你想要的。执行备份命令可能需要一段不短的时间。

备份完成后,在文件系统的根目录将生成一个名为“backup.tgz”的文件,它的尺寸有可能非常大。现在你可以把它烧录到DVD上或者放到你认为安全的地方去。

在备份命令结束时你可能会看到这样一个提示:’tar: Error exit delayed from previous errors’,多数情况下你可以忽略它。

你还可以用Bzip2来压缩文件,Bzip2比gzip的压缩率高,但是速度慢一些。如果压缩率对你来说很重要,那么你应该使用Bzip2,用“j”代替命令中的“z”,并且给档案文件一个正确的扩展名“bz2”。完整的命令如下:
# tar cvpjf backup.tar.bz2 –exclude=/proc –exclude=/lost+found –exclude=/backup.tar.bz2 –exclude=/mnt –exclude=/sys /

2. 恢复系统

在进行恢复系统的操作时一定要小心!如果你不清楚自己在做什么,那么你有可能把重要的数据弄丢,请务必小心!

接着上面的例子。切换到root用户,并把文件“backup.tgz”拷贝到分区的根目录下。

在 Linux中有一件很美妙的事情,就是你可以在一个运行的系统中恢复系统,而不需要用boot-cd来专门引导。当然,如果你的系统已经挂掉不能启动了, 你可以用Live CD来启动,效果是一样的。你还可以用一个命令把Linux系统中的所有文件干掉,当然在这里我不打算给出这个命令!

使用下面的命令来恢复系统:
# tar xvpfz backup.tgz -C /

如果你的档案文件是使用Bzip2压缩的,应该用:
# tar xvpfj backup.tar.bz2 -C /

注意:上面的命令会用档案文件中的文件覆盖分区上的所有文件。

执行恢复命令之前请再确认一下你所键入的命令是不是你想要的,执行恢复命令可能需要一段不短的时间。

恢复命令结束时,你的工作还没完成,别忘了重新创建那些在备份时被排除在外的目录:
# mkdir proc
# mkdir lost+found
# mkdir mnt
# mkdir sys
等等

当你重启电脑,你会发现一切东西恢复到你创建备份时的样子了!

Centos系统备份与恢复教程

Centos系统备份与恢复教程

Linux不像windows,它不限制根用户存取任何东西,因此,你完全可以把一个分区上每一个的文件放入一个TAR文件中。

使用root用户切换到根目录

然后,使用下面的命令备份完整的系统:

tar cvpzf backup.tgz / --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys

说明:

tar 部分就是我们将要使用的软件。

'cvpfz'是我们给tar加的选项,像“创建一个压缩文档”(这是显然的),“保存权限”(以便使每一个相同的文件有相同的权限),以及“gzip”(缩减大小)。接下来,是压缩文档将获得的名称,在我们的例子中是backup.tgz。
紧随其后的是我们想要备份的根目录。既然我们想备份所有东西:/。接着就是我们要剔除的目录了:我们不想备份每一样东西,因为包括有些目录不是非常有用。同时确保你没有把备份文件本身也加进去了,否则,你会得到怪异的结 果的。你也许同样不打算把/mnt文件夹包括进来——如果你在那儿挂载了其他分区——否则最终你会把那些也备份的。同时确保你没有任何东西挂载在 /media(即没有挂载任何cd或可移动介质)。否则,剔除/media。

在进程的最后,你也许会得到一条信息,写着“tar:由于先前错误的耽搁而存在错误”或者其他什么,不过大多数情况下你可以仅仅忽略它。

作为选择,你可以使用Bzip来压缩你的备份。这意味着较高的压缩比但是也意味着较低的速度。如果压缩比对你很重要,只需用“j”替换命令中的“z”,同时给备份命一个相应的扩展名。这些会使命令变成这样:

tar cvpjf backup.tar.bz2 / --exclude=/proc --exclude=/lost+found --exclude=/backup.tar.bz2 --exclude=/mnt --exclude=/sys

恢复:

如果系统被毁坏,那么我们就可以用备份好的tar包进行恢复。

在分区的根目录下的backup.tgz文件

再一次确保你是根用户以及备份文件在文件系统的根目录。

Linux美妙的地方之一就是这一项工作甚至可以在一个正在运行的系统上进行;没必要被引导cd或者任何东西搞得晕头转向。当然,如果你使你的系统 无法被引导了。你也许别无选择,只能使用一张live-cd了,但是结果是一样的。你甚至可以在Linux系统正在运行的时候,移除它里面所有文件。可是 我不告诉你那个命令!

这是我要用的命令:

tar xvpfz backup.tgz -C /

如果你使用 bz2:

tar xvpfj backup.tar.bz2 -C /

警告:这会把你分区里所有文件替换成压缩文档里的文件!

确保在你做其他任何事情之前,重新创建你剔除的目录:

mkdir proc
mkdir lost+found
mkdir mnt
mkdir sys
  • /proc 权限:文件所有者:root群组:root 所有者:读取 执行 群组:读取 执行 其它:读取 执行
  • /lost+found 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行
  • /mnt 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行
  • /sys 权限:文件所有者:root群组:root 所有者:读取 写入 执行 群组:读取 执行 其它:读取 执行

当你重启以后,所以的事情都会和你备份的时候一模一样。