导读
本文记录并介绍下定时任务设置,以及Git命令使用方法。
1 定时任务
很多时候为了方便,Linux机器挂定时任务还是很常见的一种操作。命令如下:
#新增定时任务
crontab -e
#查看定时任务
crontab -l
##add by lyl
20 */1 * * * * source ~/.bashrc;sh /data/.../bert_predictor_4online.sh $(date -d "1 hours ago" +"%Y%m%d%H") > /data/.../logs/log.$(date -d "1 hours ago" +%Y%m%d_%H) 2>&1
命令的意思就是每个小时的第20分钟开始执行指定脚本。
实际上也可以考虑执行后台运行
nohup sh /data1/.../NLP/my_isnext_model_4online.sh > isnext_model_4ydian.log 2>&1 &
如果想要查看代码运行情况,有两种方式,一种是直接查看日志。另外也可以跟踪进程停顿发生在什么地方:
sudo strace -p 16409 #跟踪进程停顿发生在什么地方(先找到进程)
2 Git使用
## Git快速使用
#### clone项目
git clone http://gitlab....com/***/xxxxx.git
在网页端新建项目后,会有个clone或初始化的操作代码,可以照着做。
常用提交流程
```bash
git status # 看当前状态,修改或新增文件会被列出来
git add . # 添加所有修改了的文件
git add 文件夹/
git add xxx.py # 只添加某个修改的文件
git commit -m "[update] 提交信息" # 写提交的信息
git push -u origin master # push提交到远端master,可以把master换成某个分支
```
关于.gitignore:项目里经常会有某些文件不想被提交上去,比如pyc、jpg文件,可以通过.gitignore文件过滤。建议README.md跟.gitignore一开始就新建出来。
```bash
touch .gitignore
# 编辑.gitignore
# *.pyc
# *.jpg
# xxx/xxx.xx
```
比较当前代码跟最后一次提交的差异:
```bash
git diff xxx.py
```
分支相关:多人合作时一般要建自己的分支,在自己的分支提交代码,最后再合并到develop或master上。
```bash
git branch # 查看当前分支
git branch lyl # 创建新的lyl分支
git checkout lyl# 切换到lyl分支
```
提交就往自己的分支里提交,merge一般可以再网页端发起。
举个例子:
#在tag_server中使用git添加自己的子项目到gitlab
git clone http://gitlab.....com/.../***_server.git
#设置无需提交的文件
vim .gitignore
*.pyc
*.test
model.*
#设置邮箱和用户名
git config user.email "lyl@***.com"
git config user.name "lyl"
git config --list
git status
git add . # 添加所有修改了的文件
git add views.py # 只添加某个修改的文件
git add urls.py
git add bert_embedding/
git commit -m "[add] bert_embedding submit by lyl@debuluoyi" # 写提交的信息
git commit -m "[update] views by lyl@debuluoyi"
git commit -m "[update] urls by lyl@debuluoyi"
git push -u origin develop # push提交到远端master,可以把master换成某个分支