linux服务器日常操作纪录集锦
-
liunx连接管理工具
作为小白入门时使用的是Xshell、Xftp,突然有天被公司告知没有版权不允许使用。自此需求其他软件,MobaXterm最终解决了问题(据说是免费的,没有考证)。Windows用久了,就觉得可视化界面更方便,主要是命令不熟吧,毕竟高端的操作往往只需要一行命令。
MobaXterm官网地址:https://mobaxterm.mobatek.net/
初始化界面如下:
-
基础命令行
文件夹导航
$ cd ./目标路径
$ cd ./目标路径/子目录
例如:
cd ./user
cd ./user/local
单文件夹创建
$ mkdir 文件夹名
例如:
mkdir home
多文件夹创建(多文件夹创建,不同文件夹之间空格)
$ mkdir 文件夹名1 文件夹名1
例如:
mkdir home home2
文件夹授权
Chmod 777
文件删除
$ rm -f 文件名
例如:
rm -f text
文件夹删除
$ rm -rf 文件夹名称
例如:
rm -f home
文件查找
$ find /folder/folder1/folder2/ -name fileName.ext
例如:
find /usr/local/redis/ -name redis.conf
文件夹查找
whereis nacos
查找进程
ps -ef|grep nacos
.tar.gz压缩包解压命令
tar -zxvf gzname.tar.gz
.zip压缩包解压命令(需要安装unzip)
unzip zipname.zip
查看文件夹占用空间
du sh *
查看占用空间最大的前十文件夹
du -s * | sort -nr | head
查看根目录占用空间
df -hl
查看历史命令
history
Nocas启动服务
sh startup.sh -m standalone
或 后台运行
nohup sh startup.sh -m standalone &
关闭服务
sh shutdown.sh
查看运行状态
ps -ef |grep nacos
磁盘扩容
查看当前分区情况
fdisk -l
新建分区
fdisk /dev/vdb
在fdisk的交互模式中,依次输入:
n //创建新分区
p //创建主分区
1 //默认分区编号1,按照提示可以输入其他分区编号2,3,4等
<回车> //默认起始扇区位置。
<回车> //默认结束扇区位置。如果是把全部空间分给这个分区,继续回车。如果只分部分,可输入例如:+100G
w //保存
查看新建分区的组织结构
lsblk
格式化
mkfs -t ext4 /dev/vdb1
创建挂载磁盘分区文件夹
mkdir /var/lib/docker
挂载磁盘分区(临时挂载,如果服务器重启将失效)
mount /dev/vdb2 /var/lib/docker
查看磁盘分区的UUID
blkid
将UUID绑定到fstab,服务器重启会自动挂载
echo "UUID=b4004490-e5a9-42be-b87c-82e2be5c75f9 /var/lib/docker ext4 defaults 0 0">>/etc/fstab
// psql 登录
psql -U 用户名 -h ip -p 端口 -d 数据库名
psql -U postgres -h 127.0.0.1 -p 5432 -d em
// 删除模式(登录psql)
DROP SCHEMA 模式名 CASCADE;
// 授权
-- 授予用户user_name对模式schema_name的使用权限
GRANT USAGE ON SCHEMA schema_name TO user_name;
-- 授予用户user_name对模式schema_name中所有表的SELECT权限
GRANT SELECT ON ALL TABLES IN SCHEMA schema_name TO user_name;
-- 授予用户user_name对模式schema_name中所有序列的使用权限
GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA schema_name TO user_name;
-- 授予用户user_name对模式schema_name中所有函数的执行权限
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA schema_name TO user_name;
// 数据库备份命令
pg_dump -U 用户名 -h ip -p 端口 数据库名 > 备份文件名称
pg_dump -U postgres -h 192.168.0.1 -p 5432 em > em_backup_file_20230613
// 恢复命令
./psql -U 用户名 -h ip -p 端口 -d pre_gstanze -f 备份文件名称
./psql -U postgres -h 192.168.0.1 -p 5432 -d em -f em_backup_file_20230613
--备份schema
pg_dump -U 用户名 -h ip -p 端口 -d pre_gstanze -f -d 数据库名-n 模式名> 备份文件名称
pg_dump -U postgres -h 192.168.0.1 -p 5432 -d em -n stdb > em_stdb_backup_file_20230613
--恢复schema
./psql em_stdb_backup_file_20230613
-- 自定义导出格式
pg_dump -U 用户名 -h ip -p 端口 -n 模式名 -d 数据库名称 --format custom --blobs --encoding UTF8 --verbose --file "备份文件路径"
pg_dump -U postgres -h 127.0.0.1 -p 5432 -n data -d dbname --format custom --blobs --encoding UTF8 --verbose --file "/home/data.backup"
-- 自定义格式导入
pg_restore --dbname=postgresql://用户名:密码@ip:端口/数据名 --role "postgres" --verbose "备份文件路径" > 日志路径 2>&1
pg_restore --dbname=postgresql://postgres:postgres@127.0.0.1:5432/dbname --role "postgres" --verbose "/home/data.backup" > /var/lib/pgsql/db.log 2>&1
// 修改数据库的账户密码
psql -U postgres
ALTER USER postgres WITH PASSWORD ‘new_password’;
Postgresql 无法重启的问题,日志如下:
LOG: database system is shut down
LOG: database system was interrupted while in recovery at 2023-10-20 11:10:55 CST
HINT: This probably means that some data is corrupted and you will have to use the last backup for recovery.
LOG: database system was not properly shut down; automatic recovery in progress
FATAL: could not open directory "pg_tblspc/memory/PG_11_201809051": Not a directory
LOG: startup process (PID 11314) exited with exit code 1
LOG: aborting startup due to startup process failure
LOG: database system is shut down
LOG: database system was interrupted while in recovery at 2023-10-20 11:11:13 CST
HINT: This probably means that some data is corrupted and you will have to use the last backup for recovery.
LOG: database system was not properly shut down; automatic recovery in progress
FATAL: could not open directory "pg_tblspc/memory/PG_11_201809051": Not a directory
LOG: startup process (PID 13397) exited with exit code 1
LOG: aborting startup due to startup process failure
LOG: database system is shut down
解决方法:删除以下目录中所有文件:
/var/lib/pgsql/11/data/pg_tblspc
## pg目录说明
bin目录:
/usr/pgsql-11/bin
data目录:
/var/lib/pgsql/11/data
log目录:
/var/lib/pgsql/11/data
查看端口监听,例如检查默认端口5432
$ systemctl status postgresql-11
$ netstat -ntlp | grep 5432
启动命令
$ systemctl start postgresql-11
停止命令
$ systemctl stop postgresql-11
重启命令
$ systemctl restart postgresql-11
jar包运行命令(不生成nohup.log文件)
nohup java -jar xxx.jar >/dev/null 2>&1 &
/dev/null是一个虚拟的空设备(任何信息只进不出,想象物理中的『黑洞』),任何输出信息被重定向到该设备后,将会石沉大海
>/dev/null 表示将标准输出信息重定向到『黑洞』,意味着不保存信息
2>&1 表示将标准错误重定向到标准输出
后台运行java服务不生成nohup.log文件实例
#!/bin/sh
JAR_NAME=java-service.jar
tpid=$(ps -ef | grep -v 'grep' | egrep $JAR_NAME| awk '{printf $2 " "}')
echo $tpid
if [ $tpid ]; then
echo "sever is running , stop first"
kill -9 "$tpid"
else
echo "ready to start"
fi
sleep 3
rm -f tpid
nohup java -server -Xms2048m -XX:MetaspaceSize=128M -Dfile.encoding=UTF-8 -Dspring.config.location=application.properties -jar $JAR_NAME >/dev/null 2>&1 &
echo $! > tpid
echo starting server ...
jar 运行控制台查看日志
java -server -Xms2048m -XX:MetaspaceSize=128M -XX:MaxMetaspaceSize=2048M
-Dfile.encoding=UTF-8 -Dspring.config.location=application.properties -jar java-service.jar
更新jar包里的相关文件后运行报nable to open nested entry '********.jar’错误
原因:需要更新的文件拖拽到jar包目录下之后winrar会自动压缩
解决:手动拖拽文件到jar包中,不压缩直接存储文件加上*.文件后缀名(例:*.jar)
1、winrar打开jar包并拖拽需要更新文件到指定目录
2、更新之后查看文件大小,如mysql-connector-java-8.0.11.jar大小1.9M(2,036,609 字节),则正常可运行
vmware安装liunx虚拟机并设置固定ip
1、在vmware编辑 --> 虚拟网络编辑器,选择NAT模式,并设置子网ip(参考主机ip)
2、点击NAT设置设置网关最后一位为254
3、修改liunx的ip、网关、子网掩码等,进入liunx系统编辑网卡配置文件,命令为
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改
BOOTPROTO=static 网络分配方式必须修改为静态;
ONBOOT=yes 系统启动是否激活网卡,默认no;
添加
IPADDR=192.168.102.6
PREFIX=24
GATEWAY=192.168.102.254
IPV6_PRIVACY=NO
NETMASK=255.255.255.0
修改完成,Esc退出,输入:wq退出保存。
4、resolv.conf文件新增nameserver
nameserver 192.168.102.254
5、reboot重启服务器