常用命令
clear:清屏ss -ntulp | grep 80:查看端口占用情况(ubuntu默认)ps aux | grep java:进程查找netstat -ntulp | grep 80:查看端口占用情况kill -15 PID:结束进程(不会立即停止,不再接收之后服务,完成已有服务后停止)nohup java -jar xxx.jar > /dev/null 2>&1 &:部署jar(/dev/null不会保存日志,不占用服务器空间)sudo fuser -k -n tcp 80:同上,关闭的是端口tail -500f name.log:查看正在改变的日志java -jar xxx.jar --server.port=80:Jar包指定端口启动fdisk -l:查看磁盘du -h /home:磁盘空间查看find / -name a.txt:根据文件名查找所在位置htop:查看内存占用ip addr:IP地址
日志删除
find /usr/local/project-jar -mtime +2 -name "*.log" -exec rm -rf {} \;
find:查找/usr/local/project-jar:指定路径-mtime +2:两天前-name "*.log":所有.log结尾的文件-exec rm -rf {} \:固定写法,执行删除
解压缩
// 以gzip压缩并打包
tar -zcvf ./etc.tar.gz /etc
// 解压
tar -zxvf xxx
// zip
zip -r files.zip ./files
unzip files.zip
// 覆盖
unzip -o files.zip
查看文件夹大小
du -sh log/
给远程服务器传文件
windows默认带有ssh连接功能
scp local_file remote_username@remote_ip:remote_folder
scp dist.zip root@10.12.35.220:/mnt/h5/shouwei-admin-h5
// 指定远程端口
scp -r -P 8022 fan.txt root@192.168.0.105:~
Linux安装JDK
所有Linux适用,上传JDK
解压tar -zxvf xxx
编辑/etc/profile,在末尾添加一下配置,注意JDK所在目录
export JAVA_HOME=/usr/jdk1.8.0_333
export PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME=/usr/jdk-17.0.17
export PATH=$JAVA_HOME/bin:$PATH
配置文件立即生效
source /etc/profile
开机自启
编辑/etc/rc.local(如果文件不存在,直接创建即可),加入开机需要执行的命令:
#!/bin/bash
/usr/frp_0.66.0_linux_arm64/frpc -c /usr/frp_0.66.0_linux_arm64/frpc.toml & # 内网穿透自启 建议加 & 后台运行,避免阻塞启动流程
redis-server /usr/redis-8.6.0/redis.conf & # redis自启
/usr/jdk-17.0.17/bin/java -jar /root/data/fancy/fancy.jar & # jar包自启,注意java需要完整路径
exit 0
然后给该文件加上可执行权限,此步骤不可省略
sudo chmod +x /etc/rc.local
启用 rc-local 服务(如果未启用),在现代 Ubuntu 中,可能需要手动启用该服务单元
sudo systemctl enable rc-local
sudo systemctl start rc-local
然后就完成了开启自启配置,可使用reboot重启测试是否成功
内存占用查看
ps auxw|head -1;ps auxw|sort -rn -k4|head -10
查看系统架构
uname -m
ARM64 → aarch64 或 arm64
x86-64 → x86_64
定时备份
以备份 /usr/fancy 为例
第一步创建脚本
vim backup.sh
内容
#!/bin/bash
# 备份脚本 - 每天凌晨12点执行
# 备份 files 和 h2 目录(不压缩)
# 设置变量
BACKUP_DIR="/usr/fancy"
BACKUP_DEST="/usr/fancy/backup" # 备份存储位置
DATE=$(date +%Y%m%d_%H%M%S)
LOG_FILE="/usr/fancy/backup.log"
# 创建备份目录(如果不存在)
mkdir -p ${BACKUP_DEST}
# 开始备份
echo "=========================================" >> ${LOG_FILE}
echo "备份开始时间: $(date '+%Y-%m-%d %H:%M:%S')" >> ${LOG_FILE}
# 备份 files 目录
if [ -d "${BACKUP_DIR}/files" ]; then
cp -r ${BACKUP_DIR}/files ${BACKUP_DEST}/files_${DATE}
echo "files 备份完成: files_${DATE}" >> ${LOG_FILE}
else
echo "警告: files 目录不存在" >> ${LOG_FILE}
fi
# 备份 h2 目录
if [ -d "${BACKUP_DIR}/h2" ]; then
cp -r ${BACKUP_DIR}/h2 ${BACKUP_DEST}/h2_${DATE}
echo "h2 备份完成: h2_${DATE}" >> ${LOG_FILE}
else
echo "警告: h2 目录不存在" >> ${LOG_FILE}
fi
# 删除30天前的备份(可选)
find ${BACKUP_DEST} -name "files_*" -type d -mtime +30 -exec rm -rf {} \; 2>/dev/null
find ${BACKUP_DEST} -name "h2_*" -type d -mtime +30 -exec rm -rf {} \; 2>/dev/null
echo "已清理30天前的旧备份" >> ${LOG_FILE}
echo "备份结束时间: $(date '+%Y-%m-%d %H:%M:%S')" >> ${LOG_FILE}
echo "=========================================" >> ${LOG_FILE}
添加权限
chmod +x backup.sh
测试脚本
./backup.sh
第二步设置定时任务
# 编辑 crontab
crontab -e
# 首次会选择编辑器,vim即可
# 添加以下行(每天凌晨12点执行)
0 0 * * * /usr/fancy/backup.sh
# 保存退出
然后验证
# 查看定时任务
crontab -l
# 查看备份日志
tail -f /usr/fancy/backup.log
# 查看备份文件
ls -la /usr/fancy/backup/
注意事项
crontab 的配置是持久化存储,配置文件保存在 /var/spool/cron/crontabs/ 目录下,所以服务器重启依然有效