Skip to content

zabbix 安装教程 ubuntu

查看系统信息

uname -a    // 电脑操作系统信息

cat /proc/version   //内核版本

cat /etc/issue   //发行版本信息

lsb_release -a  //



// openSUSE 版本
sudo  hostnamectl

查看CPU 内存

查看系统整体的负载

命令:top

总体内存占用的查看

命令:free



查看CPU占用前三的进程

命令:ps auxw|head -1;ps auxw|sort -rn -k3|head -3

列出所有端口: netstat -ntlp

netstat -anpt

查看 TCP 22 端口有两种方法
netstat -ntlp | grep 22

lsof -i tcp:22

ps aux | grep mongod

查看CPU

  • 通过指令查看服务器进程的状态(CPU 和内存占用情况)
    top
    %us:表示用户进程的 CPU 使用时间(没有通过 nice 调度) %sy:表示系统进程的 CPU 使用时间,主要是内核使用。 %ni:表示用户进程中,通过 CPU 调度(nice)过的使用时间。 %id:空闲的 CPU 时间 %wa:CPU 运行时在等待 IO 的时间 %hi:CPU 处理硬中断花费的时间 %si:CPU 处理软中断花费的时间 %st:被虚拟机偷走的 CPU 时间

参考 %us 的定义,对于 Linux 系统来说,MySQL 进程和它启动的所有线程都不算内核进程,因此 MySQL 的系统线程和用户线程在繁忙的时候,都会体现在 CPU 使用率的 %us 指标上。

  • 通过指令查看进程中的线程状态
    top -Hp pid

查看内存

  • free
  • free -m 查看多少MB
  • free -g 查看多少GB
  • 查看内存占用前五的进程
    • ps auxw | head -1;ps auxw|sort -rn -k4|head -5

查看文件(可以打印多个文件)

  • cat file
  • head file // 开头的行数
  • head -n 5 file // 开头五行
  • tail file // 结尾的行数
  • tail -n 5 file // 结尾5行
  • wc -l file // 统计文件行数

tail -n 20 dvsv3.error.log | grep "error"

登录mysql

// 登录mysql
mysql -h192.168.0.107  -P4006 -uroot -p
mysql -h192.168.0.104  -P4006 -uroot -p

// 批量生成删除mysql数据表的语句
select CONCAT( 'drop table ', table_name, ';' ) FROM information_schema.tables Where table_name LIKE 'DAS_%';

mysql 备份

如果是mariadb,可以用官方备份工具, 
mariabackup --backup --target-dir=$full_bk_dir --user=root 全量备份,
然后 mariabackup --backup --target-dir=$inc_bk_dir --incremental-basedir=$full_bk_dir --user=root 增量备份,
速度非常快,可以试一下。 里面的变量自己替换

https://www.modb.pro/db/454219https://www.cnblogs.com/liuxingke/articles/9216867.html

mysqldump -u USER -p test $(mysql -u USER -p -D test -Bse "show tables like 'wiki_%'")

cron 周期性计划任务

// 最小运行的单位是分钟级别 
// 查看已有的周期性计划任务
crontab -l
30 2 * * * /home/backup.sh

分钟 小时  日期  月份 星期 执行的命令

* * * * 1 星期一执行
* * * * 5 星期五执行
* * * * 1,5 星期一和星期五执行
* * * * 1-5 星期一到星期五执行

// 编辑周期性计划任务
crontab -e


#!/bin/bash

mysqldump -h172.16.4.78 -udvs -psunlight2010! --single-transaction dvsdb30 > /data/backup/dvsdb30_$(date +%Y%m%d_%H%M%S).sql

mysqldump -h172.16.4.78 -udvs -psunlight2010! --single-transaction metadata > /data/backup/metadata_$(date +%Y%m%d_%H%M%S).sql

cron ubuntu 安装

安装:apt-get install cron
启动:service cron start
重启:service cron restart
停止:service cron stop
检查状态:service cron status
查询cron可用的命令:service cron
检查crontab工具是否安装:crontab -l 

Ubuntu系统默认是不打开cron日志的,在cd 到/var/log目录下是找不到cron.log文件

修改配置文件
vim /etc/rsyslog.d/50-default.conf
// 找到cron,将其#注释去掉
cron.*                          /var/log/cron.log

// 修改完配置文件后,记得重启服务
sudo service rsyslog restart

//cron.log文件就产生了
vim /var/log/cron.log


每个用户有一个当前用户的文件在目录下
/var/spool/cron/crontabs


// .sh 文件目录下可能没权限
chmod 777 *.sh
chmod +x  *.sh


// 将sh中的echo日志输出到日志文件中
* * * * * /usr/local/aehyok/sh/backup.sh >> /usr/local/aehyok/sh/sh.log 2>&1

文件和目录的权限

// .sh 文件目录下可能没权限
chmod 777 *.sh
chmod +x  *.sh

- 普通文件
d 目录文件

// 普通文件
// r读  4
// w写  2
// x可执行  1
82402238 -rwxr-xr-x  1 root root     33 Dec 20 19:10 11.txt
67155554 -rw-------. 1 root root   1419 Jun 24  2021 anaconda-ks.cfg

// 目录文件
//x 进入目录
// wx 可以修改目录
// rx可以读取目录
67255694 drwxr-xr-x  3 root root    153 Aug 18 16:07 install
ls -ld /test 查看目录的权限

chown mysql /test
chown :group1 /test
chgrp user3 /test


touch afile
ls -l afile

// 给用户添加x可执行权限
chmod u+x afile

// 给组减少r读的权限
chmod g-r afile

// 其他权限 最后面的三个
chomd o=w afile

// 三个位置都设置r读的权限
chomd a+r afile

系统服务所在的路径位置

// 参考文章
// https://www.51cto.com/article/704405.html
// http://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

// 服务所在位置路径
/usr/lib/systemd/system

// 启动服务 dvs-collect
systemctl start dvs-collect.service

// 停止服务 dvs-collect
systemctl stop dvs-collect.service

// 重新启动服务 dvs-collect
systemctl restart dvs-collect.service

// 查看服务状态
systemctl status dvs-collect
// 查看单元的状态
systemctl is-active dvs-collect

// 杀死一个服务的所有子进程
systemctl kill dvs-collect

# 重新加载一个服务的配置文件
systemctl reload dvs-collect

// 重载所有修改过的配置文件
systemctl daemon-reload

// 显示某个 Unit 的所有底层参数
systemctl show dvs-collect

// 显示某个 Unit 的指定属性的值
systemctl show -p CPUShares dvs-collect

// 设置某个 Unit 的指定属性
systemctl set-property dvs-collect CPUShares=500

查看systemctl 服务日志

// 实时查看滚动日志
sudo journalctl -u dvs-collect -f

硬盘 分区 挂载


// 查看文件夹所占的空间
du -sh /usr/local/docker/mysql


// lsblk  https://zhuanlan.zhihu.com/p/555993724
//列表所有可用块设备的信息
lsblk -a


// 列出当前系统中所有硬盘设备及其分区的信息
fdisk -l


// "-h"选项可以显示更易读的容量单位,而"-T"选项用于显示对应文件系统的类型 
df -hT

// 查看磁盘挂载
// 每一行记录对应一个分区或设备的挂载配置信息
cat /etc/fstab


第1字段:设备名或设备卷标名。
第2字段:文件系统的挂载点目录的位置。
第3字段:文件系统类型,如ext4、swap等。
第4字段:挂载参数,mount命令"-o"选项后可使用的参数。
(defaults、rw、ro、noexec分别表示默认参数、可写、只读、禁用执行程序)
第5字段:表示文件系统是否需要dump备份,为1时表示需要,为0时将被dump所忽略。
第6字段:该数字用于决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查,对于根分区应设为1,其他分区设为2。

mount -a 的意思是将/etc/fstab的所有内容重新加载。
mount 是可以显示/etc/fstab的内容

// 将/dev/sdb2挂载到/media/test
mount /dev/sdb2 /media/test

linux基础 变量