centos 命令换行 centos进入命令行界面

这篇文章给大家聊聊关于centos 命令换行,以及centos进入命令行界面对应的知识点,希望对各位有所帮助,不要忘了收藏本站哦。

CentOS如何添加用户到sudoers

在Ubuntu系统中普通用户均可以通过sudo命令以super user身份执行指令,只要输入该用户的密码即可,然而在CentOS中,即管在安装系统时候创建用户有Advance的设置项,可以将新创建的用户加入到群组中,这个时候填写了sudoer/sudoers均不行,登陆系统后执行sudo命令还是会提示该用户不存在与群组sudoers中。遇到这个问题我们就需要将当前的用户添加到sudoers用户组中。

一.修改/etc/sudoers文件的权限

1.因为/etc/sudoers文件的所有者是root,这个文件当前的权限是

-r--r-----. 1 root root#440

2.我们要对这个文件进行修改就需要将其权限改成对其他用户具备写权限,或者切换到超级用户模式。

切换用户:直接切换至root模式,并直接修改文件

或者

修改权限:在root身份修改权限后以当前用户身份访问。

二.向sudoers中添加用户

1.在sudoers文件中找到

root ALL=(ALL) ALL#后面换行并将当前用户添加进去

xxx ALL=(ALL) ALL;

2.如果不想每次都输入密码,可以修改后不需要每次都输入密码了。

xxx ALL=(ALL) NOPASSWD: ALL

三.撤销对/etc/sudoers文件权限的修改

如果是通过修改文件的权限去添加用户的,则在添加完后需要还原文件的权限属性。

四.注意事项

如果在修改权限时为了图方便,直接chmod 777/etc/sudoers则在添加完用户后必须还原权限,如果不还原则在执行sudo命令时会出现如下错误提示:

sudo:/etc/sudoers is world writable

sudo:no valid sudoers sources found,quitting

sudo:unable to initialize policy plugin

1

2

3

执行以下命令即可修复这个问题

以root身份运行: chmod 440/etc/sudoers即可

CentOS下CronTab任务周期计划详解

CronTab任务周期计划

格式:

***** command

分(0-59)、时(0-23)、日(1-31)、月(1-12)、周(0-6)

说明:

1、星号可以匹配所有字符

2、一个整数、必须精确匹配

3、用短划线隔开的两个整数,它们匹配的是值的范围。

4、时间范围后加斜扛和一个步长值。1-10/2

普通用户流程:

crontab-e crontab是设置了setuid的,所以用户具有他的权限也就是root,并会在/tmp/cron....文件处理后保存在/var/spool/cron/$username中。

日志:

/var/log/cron

配置目录:

/var/run/crond.pid进程号地址

/etc/crontab使用指导文件

/etc/$weekday.等分别时日月周的目录,即可以把脚本放进去他会按时执行。

/etc/cron.{deny,allow}拒绝和允许用户使用crontab

Vixie-Cron:

centos安装时会默认安装此包,此包可以包括一个步长值。也就是如1,3,6,9,12可以写成,1-12/3除以3。所谓的*/1*/2也就是每一分钟每两分钟运行command。即1-59/{2,3}。

%号的运用:

%百分号表示command中的换行,只有第一个百分号之前的文本才包含在实际命令中,其余的行则作为该命令的标准输入。

安装:

yum install-y crontabs

使用:

crontab--help

crontab-e#检出一个crontab副本,调用vi编辑它,并重新保存在crontab目录。

crontab-l#将crontab的内容打印到标准输出。

crontab-r#册除并不留任何内容。

......

root册除其它用户。

crontab-r$username

[root@nagios~]# crontab--help

crontab: invalid option--'-'

crontab: usage error: unrecognized option

usage:crontab [-u user] file

crontab [-u user] [-e|-l|-r ]

(default operation is replace, per 1003.2)

-e(edit user's crontab)

-l(list user's crontab)

-r(delete user's crontab)

-i(prompt before deleting user's crontab)

-s(selinux context)

[root@nagios~]# ll/usr/bin/crontab

-rwsr-xr-x 1 root root 47520 Jul 19 2011/usr/bin/crontab

[root@nagios~]# cat/var/run/crond.pid

2074

[root@nagios~]# ll/etc/|grep-E cron

drwxr-xr-x 2 root root 4096 Apr 2 00:59 cron.d

drwxr-xr-x. 2 root root 4096 Sep 27 2011 cron.daily

-rw-r--r-- 1 root root 0 Jul 19 2011 cron.deny

drwxr-xr-x 2 root root 4096 Sep 27 2011 cron.hourly

drwxr-xr-x 2 root root 4096 Sep 27 2011 cron.monthly

-rw-r--r-- 1 root root 457 Sep 27 2011 crontab

drwxr-xr-x 2 root root 4096 Sep 27 2011 cron.weekly

[root@nagios~]# cat/etc/crontab

SHELL=/bin/bash

PATH=/sbin:/bin:/usr/sbin:/usr/bin

MAILTO=root

HOME=/

# For details see man 4 crontabs

# Example of job definition:

#.---------------- minute(0- 59)

#|.------------- hour(0- 23)

#||.---------- day of month(1- 31)

#|||.------- month(1- 12) OR jan,feb,mar,apr...

#||||.---- day of week(0- 6)(Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat

#|||||

#***** user-name command to be executed

[root@nagios~]# ll/var/spool/cron/

total 8

-rw------- 1 root root 60 Apr 2 01:33 root

-rw------- 1 zwhset zwhset 68 Apr 2 01:51 zwhset

[root@nagios~]# tail-5/var/log/cron

Apr 2 17:24:01 nagios CROND[20544]:(root) CMD(/bin/sh~/hello)

Apr 2 17:25:01 nagios CROND[20549]:(root) CMD(/bin/sh~/hello)

Apr 2 17:25:01 nagios CROND[20550]:(root) CMD(/bin/sh~/hello)

Apr 2 17:25:01 nagios CROND[20551]:(zwhset) CMD(echo hello~/1.txt)

Apr 2 17:25:01 nagios CROND[20552]:(zwhset) CMD(echo hello~/1.txt)

[root@nagios~]# ps aux|grep cron

root 2074 0.0 0.5 117212 1316? Ss 01:40 0:04 crond

root 20641 0.0 0.6 139684 1468 pts/1 S+ 17:30 0:00 crontab-e

zwhset 20642 0.0 0.7 119284 1756 pts/1 S+ 17:30 0:00/bin/vi/tmp/crontab.YphQpH

root 20663 0.0 0.3 103236 856 pts/0 S+ 17:31 0:00 grep cron

[root@nagios~]# lsof-c crontab

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME

crontab 20641 root cwd DIR 253,0 4096 130818/root

crontab 20641 root rtd DIR 253,0 4096 2/

crontab 20641 root txt REG 253,0 47520 401259/usr/bin/crontab

crontab 20641 root mem REG 253,0 5952 261889/lib64/security/pam_deny.so

crontab 20641 root mem REG 253,0 18592 261891/lib64/security/pam_env.so

crontab 20641 root mem REG 253,0 18592 261903/lib64/security/pam_limits.so

crontab 20641 root mem REG 253,0 10224 261901/lib64/security/pam_keyinit.so

crontab 20641 root mem REG 253,0 10240 261906/lib64/security/pam_loginuid.so

crontab 20641 root mem REG 253,0 6040 261912/lib64/security/pam_permit.so

crontab 20641 root mem REG 253,0 14384 261923/lib64/security/pam_succeed_if.so

crontab 20641 root mem REG 253,0 10200 261905/lib64/security/pam_localuser.so

crontab 20641 root mem REG 253,0 51952 261929/lib64/security/pam_unix.so

crontab 20641 root mem REG 253,0 113432 261657/lib64/libnsl-2.12.so

crontab 20641 root mem REG 253,0 14456 261884/lib64/security/pam_access.so

crontab 20641 root mem REG 253,0 65928 261663/lib64/libnss_files-2.12.so

crontab 20641 root mem REG 253,0 99158576 397021/usr/lib/locale/locale-archive

crontab 20641 root mem REG 253,0 383504 261640/lib64/libfreebl3.so

crontab 20641 root mem REG 253,0 40400 261651/lib64/libcrypt-2.12.so

crontab 20641 root mem REG 253,0 1916568 261647/lib64/libc-2.12.so

crontab 20641 root mem REG 253,0 113096 261709/lib64/libaudit.so.1.0.0

crontab 20641 root mem REG 253,0 19536 261653/lib64/libdl-2.12.so

crontab 20641 root mem REG 253,0 55848 261879/lib64/libpam.so.0.82.2

crontab 20641 root mem REG 253,0 122040 261718/lib64/libselinux.so.1

crontab 20641 root mem REG 253,0 154464 261636/lib64/ld-2.12.so

crontab 20641 root 0u CHR 136,1 0t0 4/dev/pts/1

crontab 20641 root 1u CHR 136,1 0t0 4/dev/pts/1

crontab 20641 root 2u CHR 136,1 0t0 4/dev/pts/1

crontab 20641 root 3u unix 0xffff88000225c380 0t0 91831 socket

crontab 20641 root 5u REG 253,0 68 916745/tmp/crontab.YphQpH

在CentOS上安装Percona服务器的方法

在这篇文章中我们将了解关于 Percona服务器,一个开源的MySQL,MariaDB的替代品。InnoDB的数据库引擎使得Percona服务器非常有吸引力,如果你需要的高性能,高可靠性和高性价比的解决方案,它将是一个很好的选择。

在下文中将介绍在CentOS 7上 Percona服务器的安装,以及备份当前数据,配置的步骤和如何恢复备份。

1.什么是Percona,为什么使用它

Percona是一个MySQL,MariaDB数据库的开源替代品,它是MySQL的一个分支,相当多的改进和独特的功能使得它比MYSQL更可靠,性能更强,速度更快,它与MYSQL完全兼容,你甚至可以在Oracle的MySQL与Percona之间使用复制。

在Percona中独具特色的功能

分区适应哈希搜索

快速校验算法

缓冲池预加载

支持FlashCache

MySQL企业版和Percona中的特有功能

从不同的服务器导入表

PAM认证

审计日志

线程池

现在,你肯定很兴奋地看到这些好的东西整合在一起,我们将告诉你如何安装和对Percona Server做基本配置。

2.备份你的数据库

接下来,在命令行下使用SQL命令创建一个mydatabases.sql文件,来重建或恢复salesdb和employeedb数据库,根据你的设置替换数据库名称,如果没有安装MySQL则跳过此步:

代码如下:

mysqldump-u root-p--databases employeedb salesdb mydatabases.sql

复制当前的配置文件,如果你没有安装MYSQL也可跳过:

代码如下:

cp my.cnf my.cnf.bkp

3.删除之前的SQL服务器

停止MYSQL/MariaDB,如果它们还在运行:

代码如下:

systemctl stop mysql.service

卸载MariaDB和MYSQL:

代码如下:

yum remove MariaDB-server MariaDB-client MariaDB-shared mysql mysql-server

移动重命名放在/var/lib/mysql当中的MariaDB文件。这比仅仅只是移除更为安全快速,这就像2级即时备份。:)

代码如下:

mv/var/lib/mysql/var/lib/mysql_mariadb

4.使用二进制包安装Percona

你可以在众多Percona安装方法中选择,在CentOS中使用Yum或者RPM包安装通常是更好的主意,所以这些是本文介绍的方式,下载源文件编译后安装在本文中并没有介绍。

从Yum仓库中安装:

首先,你需要设置Percona的Yum库:

代码如下:

yum install

接下来安装Percona:

代码如下:

yum install Percona-Server-client-56 Percona-Server-server-56

上面的命令安装Percona的服务器和客户端、共享库,可能需要Perl和Perl模块,以及其他依赖的需要,如DBI::MySQL。如果这些尚未安装,可能需要安装更多的依赖包。

使用RPM包安装:

我们可以使用wget命令下载所有的rpm包:

代码如下:

wget-r-l 1-nd-A rpm-R"*devel*,*debuginfo*"/

使用rpm工具,一次性安装所有的rpm包:

代码如下:

rpm-ivh Percona-Server-server-55-5.5.42-rel37.1.el7.x86_64.rpm/

Percona-Server-client-55-5.5.42-rel37.1.el7.x86_64.rpm/

Percona-Server-shared-55-5.5.42-rel37.1.el7.x86_64.rpm

注意在上面命令语句中最后的反斜杠'/'(只是为了换行方便)。如果您安装单独的软件包,记住要解决依赖关系,在安装客户端之前要先安装共享包,在安装服务器之前请先安装客户端。

5.配置Percona服务器

恢复之前的配置

当我们从MariaDB迁移过来时,你可以将之前的my.cnf的备份文件恢复回来。

代码如下:

cp/etc/my.cnf.bkp/etc/my.cnf

创建一个新的my.cnf文件

如果你需要一个适合你需求的新的配置文件或者你并没有备份配置文件,你可以使用以下方法,通过简单的几步生成新的配置文件。

下面是Percona-server软件包自带的my.cnf文件

代码如下:

# Percona Server template configuration

[mysqld]

#

# Remove leading# and set to the amount of RAM for the most important data

# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.

# innodb_buffer_pool_size= 128M

#

# Remove leading# to turn on a very important data integrity option: logging

# changes to the binary log between backups.

# log_bin

#

# Remove leading# to set options mainly useful for reporting servers.

# The server defaults are faster for transactions and fast SELECTs.

# Adjust sizes as needed, experiment to find the optimal values.

# join_buffer_size= 128M

# sort_buffer_size= 2M

# read_rnd_buffer_size= 2M

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

# Disabling symbolic-links is recommended to prevent assorted security risks

symbolic-links=0

[mysqld_safe]

log-error=/var/log/mysqld.log

pid-file=/var/run/mysqld/mysqld.pid

根据你的需要配置好my.cnf后,就可以启动该服务了:

代码如下:

systemctl restart mysql.service

如果一切顺利的话,它已经准备好执行SQL命令了,你可以用以下命令检查它是否已经正常启动:

代码如下:

mysql-u root-p-e'SHOW VARIABLES LIKE"version_comment"'

如果你不能够正常启动它,你可以在/var/log/mysql/mysqld.log中查找原因,该文件可在my.cnf的[mysql_safe]的log-error中设置。

代码如下:

tail/var/log/mysql/mysqld.log

你也可以在/var/lib/mysql/文件夹下查找格式为[主机名].err的文件,就像下面这个例子:

代码如下:

tail/var/lib/mysql/centos7.err

如果还是没找出原因,你可以试试strace:

代码如下:

yum install strace systemctl stop mysql.service strace-f-f mysqld_safe

上面的命令挺长的,输出的结果也相对简单,但绝大多数时候你都能找到无法启动的原因。

6.保护你的数据

好了,你的关系数据库管理系统已经准备好接收SQL查询,但是把你宝贵的数据放在没有最起码安全保护的服务器上并不可取,为了更为安全最好使用mysqlsecureinstall来安装,这个工具可以帮助你删除未使用的默认功能,并设置root的密码,限制使用此用户进行访问。只需要在shell中执行该命令,并参照屏幕上的说明操作。

代码如下:

mysql_secure_install

7.还原备份

如果您参照之前的设置,现在你可以恢复数据库,只需再用mysqldump一次。

代码如下:

mysqldump-u root-p mydatabases.sql

恭喜你,你刚刚已经在你的CentOS上成功安装了Percona,你的服务器已经可以正式投入使用;你可以像使用MySQL一样使用它,你的服务器与它完全兼容。

总结

为了获得更强的性能你需要对配置文件做大量的修改,但这里也有一些简单的选项来提高机器的性能。当使用InnoDB引擎时,将innodbfileper_table设置为on,它将在一个文件中为每个表创建索引表,这意味着每个表都有它自己的索引文件,它使系统更强大和更容易维修。

可以修改innodbbufferpool_size选项,InnoDB应该有足够的缓存池来应对你的数据集,大小应该为当前可用内存的70%到80%。

将innodb-flush-method设置为O_DIRECT,关闭写入高速缓存,如果你使用了RAID,这可以提升性能,因为在底层已经完成了缓存操作。

如果你的数据并不是十分关键并且并不需要对数据库事务正确执行的四个基本要素完全兼容,可以将innodbflushlogattrx_commit设置为2,这也能提升系统的性能。

阅读剩余
THE END