花森

常用命令操作记录

最近更新:

常用命令操作记录 封面

# Git
## 配置SSH
```shell
# 生成非对称密钥
ssh-keygen -t rsa
# 查看公钥设置于 Github
cat ~/.ssh/id_rsa.pub
# 查看私钥设置于 Jenkins
cat ~/.ssh/id_rsa
# 连接仓库
git ls-remote -h git@github.com:huasenjio/huasen-compose.git HEAD
```

## 解决.gitignore规则不生效
```shell
# 删除缓存
git rm -r --cached .
# 添加所有变动至缓存区
git add .
# 提交至本地仓库
git commit -m 'update .gitignore'
# 推送至远程仓库
git push -u origin <分支名>
```

## 删除所有提交记录
```shell
# 新建并切换到xxx新分支
git checkout --orphan xxx
# 添加所有文件
git add -A
# 提交所有记录
git commit -am "."
# 强制删除原分支名
git branch -D <原分支名>
# 重命名当前分支为原分支
git branch -m <原分支名>
# 强制推送到远程仓库
git push -f origin 旧分支
```

# CentOS
## tar命令解压缩文件夹
```shell
# 压缩
tar -czvf huasen-mongo.tar.gz huasen-mongo
# 解压
tar -xvf huasen-mongo.tar.gz
```

## 定时分割Nginx日志任务
根目录创建data文件夹,`mkdir /data`,进入文件夹`cd /data`,创建并编辑定时脚本`vim runlog.sh`,写入如下内容:
```sh
#!/bin/bash
# 建立日志对应的变量
LOGPATH=/usr/local/nginx/logs/access.log
# 建立日志存放路径变量
BASEPATH=/data
# 日志文件名称
bak=$BASEPATH/$(date -d yesterday +%Y%m%d%H%M).access.log
echo $bak
# 将新日志移动到nginx的logs目录下
mv $LOGPATH $bak
# 修改文件信息(不存在则生成)
touch $LOGPATH
# 切割日志指令:
kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
# 执行一次,查看效果
sh runlog.sh
# 进入日常任务管理
crontab -e
# 建立任务,每天6点18分执行脚本
*/18 6 * * * sh /data/runlog.sh
```

# 宝塔面板
## 命令操作Docker
### 创建docker-compose软连接
```shell
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
ln -sf /usr/libexec/docker/cli-plugins/docker-compose /usr/bin/docker-compose
```

### 卸载
> 通过命令行形式卸载通过宝塔默认安装的docker程序
```shell
yum remove docker-ce docker-ce-cli containerd.io -y
rm -rf /usr/local/bin/docker-compose
rm -rf /usr/bin/docker-compose
```

# Jenkins
### 批量删除构建日志
进入“系统管理”,找到“脚本命令行”,输入代码,点击运行。
```python
# 流水线的名字
def jobName = "huasen-compose"
# 保留的最小编号,意味着小于等于该编号的构建都将被删除。
def maxNumber = 258

Jenkins.instance.getItemByFullName(jobName).builds.findAll {
it.number <= maxNumber
}.each {
it.delete()
}
```