踩坑集合

python文件操作

os.getcwd() # 返回当前工作目录
os.walk(path) # 递归现实path路径下的所有文件和文件夹
os.path.split(path) # 把路径分割成dirname和basename
os.makedirs("./path1/path2/path3....") # 递归的创建文件夹

Python相关

  • MANIFEST.in文件
    参考: https://docs.python.org/2/distutils/sourcedist.html

  • python文件操作

      os.getcwd() # 返回当前工作目录
    os.walk(path) # 递归现实path路径下的所有文件和文件夹
    os.path.split(path) # 把路径分割成dirname和basename
    os.makedirs("./path1/path2/path3....") # 递归的创建文件夹
  • pip 只下载不安装
    pip download -d \home\packs -r requirement.txt

  • pip 安装:

      pip install package --no-cache 
      --index-url https://pypi.tuna.tsinghua.edu.cn/simple 
      --extra-index-url https://ricequant:[email protected]:8080/simple
  • df.shift 值往后移动:

      df = pd.DataFrame({"Col1": [10, 20, 15, 30, 45],
                     "Col2": [13, 23, 18, 33, 48],
                     "Col3": [17, 27, 22, 37, 52]},
                    index=pd.date_range("2020-01-01", "2020-01-05"))
      df
                  Col1  Col2  Col3
      2020-01-01    10    13    17
      2020-01-02    20    23    27
      2020-01-03    15    18    22
      2020-01-04    30    33    37
      2020-01-05    45    48    52
    
      df.shift(periods=3)
                  Col1  Col2  Col3
      2020-01-01   NaN   NaN   NaN
      2020-01-02   NaN   NaN   NaN
      2020-01-03   NaN   NaN   NaN
      2020-01-04  10.0  13.0  17.0
      2020-01-05  20.0  23.0  27.0
    
  • DF按照每分钟/每小时分组:

      grp = data.groupby(by=[data.datetime_col.map(lambda x : x.hour),
                             data.datetime_col.map(lambda x : x.minute)])

MySQL相关

  • MySQL远程连接:

    • 授权命令: grant all privileges on *.* '用户名'@'%' identified by '密码' with grant option
      %: 表示允许所有ip连接; 授权成功之后刷新一下权限表: flush privileges
      重启: service mysql restart
  • MySQL 用户/权限相关:

    • 创建用户:
      create user 'user_name'@'host' identified by 'password';

    • 授权用户:
      grant all privileges on database_name.tablename to 'user_name'@'host'

    • 权限:
      select, insert, update, delete, all privileges

    • 删除用户:
      drop user 'user_name'@'host'

    • 设置与更改密码:
      set password for 'username'@'host'=PASSWORD('newpassword')
      如果是设置当前用户的密码:
      SET PASSWORD = PASSWORD(‘newpassword’)
      如: SET PASSWORD = PASSWORD(‘123456’)

    • 撤销用户权限:
      revoke privileges on database.tablename from 'username'@'host';

Linux相关

  • yum 只下载安装包到指定位置不安装
    yum install lrzsz.x86_64 --downloadonly --downloaddir=/root/package

  • 打开端口:
    iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

  • 查看27017端口是否开启
    firewall-cmd --query-port=27017/tcp

  • 开启27017端口
    firewall-cmd --zone=public --add-port=27017/tcp --permanent

  • 重启防火墙
    firewall-cmd --reload

  • MongoDB远程连接
    mongo 192.168.199.129:27017

  • ps aux , 从ps中获取进程id, 并kill
    kill $(ps aux | grep process_name | tr -s ' '| cut -d ' ' -f 2)

  • 查看pod使用的yaml文件
    kubectl get pod pod_name -o yaml

  • git 相关

      git tag 0.1    添加tag
      git push origin [tag_name] 推送tag到远程仓库
      git tag -d 0.1 删除本地tag版本
      git push origin :refs/tags/0.1  删除远程tag版本
    
      git reset --hard  版本号
      git push -f       强制推送到远程
    
      git stash         暂存本次改动
      git stash pop     将暂存的取出
    
      // git ssh默认端口变更,可使用这种方式
      git remote add origin ssh://git@host:port/root/test_cicd.git
  • docker容器被kill掉,k8s中该节点的pod也被驱赶,因而使用以下命令查看被kill的所有进程
    dmesg | grep -i -B100 'killed process'

  • 修改github代理
    1.设置代理方法即可解决(请自行查找你的http代理端口)
    git config --global http.proxy "localhost:port"

    2.完成后取消设置
    git config --global --unset http.proxy

  • docker导入导出命令
    1.对镜像

          // 导出
          docker save -o file_name.tar
          docker save > file_name.tar
    
          // 导入
          docker load -i file_name.tar
          docker load < file_name.tar

    2.对容器

          // 导出
          docker export -o  
    
          // 导入
          docker import  
  • 授权某个用户root权限
    编辑文件:/etc/sudoers (需要权限): sudo vim /etc/sudoers
    找到这一行:root ALL=(ALL) ALL
    添加一行: user ALL=(ALL) ALL


  目录