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 和内存占用情况)%us:表示用户进程的 CPU 使用时间(没有通过 nice 调度) %sy:表示系统进程的 CPU 使用时间,主要是内核使用。 %ni:表示用户进程中,通过 CPU 调度(nice)过的使用时间。 %id:空闲的 CPU 时间 %wa:CPU 运行时在等待 IO 的时间 %hi:CPU 处理硬中断花费的时间 %si:CPU 处理软中断花费的时间 %st:被虚拟机偷走的 CPU 时间
top
参考 %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