机试刷题 关键点

fansichao 2021-10-23 16:29:27
Categories: Tags:
  1. 机试必须使用 while True: try: xxxx except: break
    1. 因为牛客网许多题目都是多组测试用例的。
    2. 如果你不用循环,那么就只能通过第一组测试用例,对于第二组第三组肯定就不能通过了,所以说“输出为空”。
  2. 不能再文件头加顶部注释 例如 # xxxx
  3. 准备 纸+笔

Python 2.7.11

>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 知识点 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

>>>> 参数接收

  1. raw_input() or input()

算法题库 时间复杂度
最优算法等 数学算法 题库

取余

divmod(10,3)

是否纯数字

strA.isdigit()

是否纯字母

strB.isalpha()

多进制转换

bin() 十进制转二进制 bin(10) ‘0b1010’
oct() 十进制转八进制 oct(10) ‘012’
int() 其他进制转十进制 int(‘012’,8) 10
hex() 十进制转十六进制 hex(10) ‘0xa’
十进制输入时必须为数字,其他进制转十进制时必须为字符串。
binary 二进制的
octal 八进制的
hexadecimal 十六进制的
decimal 十进制的
ord 字符转ASCII码

检验字符中是否含有特殊符号

1
2
3
4
5
6
7
8
9
import re

def check_symbol_is_contain(pwd):
pattern = re.compile('[^a-z0-9A-Z+]+')
if pattern.findall(pwd):
return True
else:
print("WARNING: The password should start with numbers or characters.")
return False

In [58]: pwd=’ABCabc123’
In [59]: pattern = re.compile(‘[^a-z0-9A-Z+]+’)
In [60]: pattern.findall(pwd)
Out[60]: []
In [61]: pwd=’ABCqwe123 &(/)’
In [62]: pattern.findall(pwd)
Out[62]: [‘ &
(/)’]

用python实现密码校验程序

dict升序降序排序 多字段排序

1
2
3
4
5
6
7
8
9
10
11
In [26]: dic
Out[26]: {'a': 234, 'b': 234, 'c': 123, 'd': 1}
# 根据key,val 进行排序
In [24]: sorted(dic.items(),key=lambda x:(x[0],x[1]))
Out[24]: [('a', 234), ('b', 234), ('c', 123), ('d', 1)]
# 根据val,key 进行排序
In [25]: sorted(dic.items(),key=lambda x:(x[1],x[0]))
Out[25]: [('d', 1), ('c', 123), ('a', 234), ('b', 234)]
# reverse 逆序
In [28]: sorted(dic.items(),key=lambda x:(x[0],x[1]),reverse=True)
Out[28]: [('d', 1), ('c', 123), ('b', 234), ('a', 234)]

python 列表、字典多排序问题

大小写字母判定

isupper()
islower()
istitile()

TODO 保留一位小数

print(‘%.1f’%(3.5533)) 3.6
多行输入问题

四舍五入

round(3.556,2)

向上取整

math.ceil(4.1) 5

向下取整

math.floor(4.1) 4

平方根

num ** 0.5 或 math.sqrt(144)

获取26个字母

import string
string.ascii_uppercase # 获取26个大写字母
string.ascii_lowercase # 获取26个小写字母
string.ascii_letters # 获取26个小写字母和26个大写字母

输入输出

填充空格,适合取出等长字符

In [10]: a.ljust(9)
Out[10]: ‘asdasda ‘

其他

https://www.liepin.com/zhaopin/?init=-1&headckid=d67304f60cc0086c&flushckid=1&fromSearchBtn=2&dqs=070020050&imscid=R000000058&ckid=b2ff9cdd8716e548&key=python&siTag=I-7rQ0e90mv8a37po7dV3Q%7Eb82XZEfT3k9nLaGd2nO5lg&d_sfrom=search_fp_bar&d_ckId=4af130b69886296d7b935630c28b6b35&d_curPage=0&d_pageSize=40&d_headId=4f003498703fbfa55bf56ca2cdf4f08b

今日完成内容

  1. search & dataload 后台views修改
  2. 导入数据集 问题修改
  3. 图规则维护 问题修改

今日完成内容

  1. 导入数据集 问题修改
  2. 图规则维护 问题修改
  3. 图规则加工 问题修改
  1. 部署软件-install.sh 环境安装测试 (Oracle/Mysql驱动安装测试)
  2. 知识树 & 印象笔记整理
  1. 独立部署
    贵州交互 人行、商行等 部署在独立服务器,其他部署在另外一个服务器。
    使用 docker 部署环境(Oracle、Mysql、图库、es、doris等)

配置单向传输。

如何独立部署,技术上实现方法?

  1. 模型筛查 -
  2. 样式提出

分支修改 -

  1. 贵州分支-py3转换
  2. 交互模块-贵州分支,trunk分支-trunk修改

>>>>>>>>>>

Python x xx __xx 这些变量区别

Python 高级知识点、语法等

动态修改容器内存 ,只可以改小,不可以改大

必须设置 –memory-swap -1 缓存不受限制

docker update –memory 6G –memory-swap -1 fdm_es74

https://blog.csdn.net/fuck487/article/details/86096134

  1. 代码更新测试
  2. 线上代码更新
  1. Oracle11g - 版本升级

分支合并说明

  1. 已合并 branch_scfan
    涉及文件
    M src/server/fdm/services/dataset.py
    M src/server/fdm/tools/monitor_tools.py
    M src/server/fdm/views/dataset.py
    M src/server/fdm/views/search.py
    M src/web/fdm/services/datasetService.js
    M src/web/fdm/services/searchService.js
    M src/web/fdm/views/base/custDetailPageController.js
    M src/web/fdm/views/data/subjectManageController.js
    M src/web/fdm/views/data/subject_manage.html
    修复功能
    a. 436 主体管理页面 新增和删除附件

2020-08-24 问题记录

  1. 主体信息视图
    a. 数据源主体有多个手机号,之前只显示一个,需要获取数据源主体的所有手机号
    b. 账号清单中,两个账号的取现交易金额完全一样,且数值过大不符合实际交易数据。
    c. 交易信息中,查询对方姓名时,当前使用了模糊匹配,需要使用精准匹配,避免查询其他人。
    (需考虑 名称部分缺失时的输入匹配)
    问题大概如上所述,已经添加到问题清单中,后续问题修改和完善会随时跟进的。

密码
gzqweR1234

branch_xypan 分支已合并
修复功能
SVN 5307 1. 标签搜索功能回退
SVN 5306 2. 目标库管理,新增目标时选择其他类型时类型未上传
3. 之前已修复 自主建模-标签管理,编辑查询规则时条件组显示异常

curl -XPUT ‘http://192.168.172.73:7401/_cluster/settings' -H ‘Content-Type: application/json’ -d ‘
{
“transient”: {
“cluster”: {
“max_shards_per_node”: 500000000
}
}
}

已合并 branch_rqma
(env) [fdm@fdm trunk]$ svn ci * -m ‘merge branch_rqma

  1. 修复 ipmac
  2. 数据集导入时,自动进行指标模型跑批’
    Sending src
    Sending src/server/fdm/mining/udm_mining.py
    Sending src/server/fdm/scripts
    Sending src/server/fdm/services/init.py
    Sending src/server/fdm/services/dataload.py
    Sending src/server/fdm/services/ipmac.py

SVN 5311

HR您好,我这有几个问题想问下您。

  1. 入职的Offer大概什么时候可以收到?
  2. 我想问下后面日常工作、岗位职责中大概需要哪些技术
    我在这段时间再熟练、完善一下。
  3. 入职的话试用期大概多久,试用期的薪资是80%吗?
  1. 用户打开网页打不开,你怎么解决,关键怎么排查?如何使用服务器的管理工具来进行监控,
  2. 乐观锁和悲观锁是什么,在什么场景使用,其区别?
  3. 数据库的覆盖索引
  4. 项目中使用到的设计模式
  5. 算法题
    1->2->3->4->5->…->n-1->n
    替换得到
    1->n->2->n-1->……
    单链数据,最后个元素放在第二位,倒数第二位放在第四位…. 位置调换
    要求
    a.自己生成链表数据
    b.不要用数组列表等结构
    c.不要用递归
  6. 最近半年看了什么书籍,学习路径和未来方向。

mv data/databases/graph.db data/databases/graph.db.bak

nohup python -m fdm.scripts.reload_neo4j > reload_neo4j.log &

sas

修改单节点最大分片数量

curl -XPUT ‘http://192.168.172.73:7401/_cluster/settings' -H ‘Content-Type: application/json’ -d ‘
{
“transient”: {
“cluster”: {
“max_shards_per_node”: 500000000
}
}
}

logging模块
https://www.cnblogs.com/nancyzhu/p/8551506.html

算法&Python代码实现参考

https://github.com/qiwsir/algorithm

程序员必须掌握的核心算法有哪些?
https://blog.csdn.net/m0_37907797/article/details/102661778

文件OS操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42



python中对文件、文件夹的操作需要涉及到os模块和shutil模块。

创建文件:
1) os.mknod(“test.txt”) 创建空文件
2) open(“test.txt”,w) 直接打开一个文件,如果文件不存在则创建文件

创建目录:
os.mkdir(“file”) 创建目录

复制文件:
shutil.copyfile(“oldfile”,”newfile”) oldfile和newfile都只能是文件
shutil.copy(“oldfile”,”newfile”) oldfile只能是文件夹,newfile可以是文件,也可以是目标目录

复制文件夹:
shutil.copytree(“olddir”,”newdir”) olddir和newdir都只能是目录,且newdir必须不存在

重命名文件(目录)
os.rename(“oldname”,”newname”) 文件或目录都是使用这条命令

移动文件(目录)
shutil.move(“oldpos”,”newpos”)

删除文件
os.remove(“file”)

删除目录
os.rmdir(“dir”) 只能删除空目录
shutil.rmtree(“dir”) 空目录、有内容的目录都可以删

转换目录
os.chdir(“path”) 换路径

判断目标
os.path.exists(“goal”) 判断目标是否存在
os.path.isdir(“goal”) 判断目标是否目录
os.path.isfile(“goal”) 判断目标是否文件

触发模型 触发时间

爬虫相关知识

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60

# Python2 urllib2 与 Python3 urllib.request API对照
https://blog.csdn.net/weixin_38002569/article/details/85340538





# >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Scrapy

scrapy提升篇之配置
https://segmentfault.com/a/1190000009321902

scrapy使用随机User-Agent
https://juejin.im/post/5b9fe92ce51d450e8d7651ee


Scrapy的随机代理中间件
https://github.com/aivarsk/scrapy-proxies




爬虫目录结构
https://www.jianshu.com/p/6df878054091


爬虫系列课程
https://www.jianshu.com/nb/18470815




爬虫settings 参数说明
https://www.itbook5.com/2019/01/8926/

1. DNS_TIMEOUT默认60s

2. DOWNLOADER_MIDDLEWARES下载中间件

3. DOWNLOAD_DELAY两次下载的间隔

4. DOWNLOAD_TIMEOUT默认180s

5. DOWNLOAD_MAXSIZE默认1024M

6. LOG_ENABLED

7. LOG_FILE默认是NONE

8. LOG_LEVEL,默认是DEBUG,即打印DEBUG, INFO, WARNING, ERROR,所有LOG信息

9. LOG_STDOUT,默认是false,所有的标准输出是否放在log

10. MEMDEBUG_ENABLED,默认是false

11. RANDOMIZE_DOWNLOAD_DELAY默认是true, 等待0.5-1.5*DOWNLOAD_DELAY时间,防止被禁

12. USER_AGENT默认是”Scrapy/VERSION (+http://scrapy.org)

1
2
3
4
5
# 字符串 url 链接比对

d=difflib.Differ()
diff=d.compare(url1.splitlines(),url2.splitlines())
print('\n'.join(list(diff)))

标书制作

##知识点 Tips

知识点

查看使用内存最多的 10 个进程

ps -aux | sort -k4nr | head -n 10

查看使用 CPU 最多的 10 个进程

ps -aux | sort -k3nr | head -n 10

Gremlin 语法

> 服务器-158 新昌服务器-RPM 包依赖

yum install libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk -y
yum install postgresql-devel* -y
yum install libjpeg-turbo-devel

Docker run 打开一个新的容器 端口转发 主机端口:容器端口

docker run –privileged=true -m 8G –cpus=”4” -itd –name code –net extnetwork –ip 172.18.0.81 -p 15001:3000 -p 15002:80 docker_7 /usr/sbin/init
docker exec -it code /bin/bash

Doris Insert Into 插入官方文档

http://doris.apache.org/documentation/cn/administrator-guide/load-data/insert-into-manual.html?highlight=all%20partitions%20have%20load%20data

VScode-Markdown 中快速插入图片

vscode 书写 Markdown 快速插入图片 picgo 2.0 插件使用

Python-启用共享,方便其他依赖 python 的一些内置库 –enable-shared

如果编译时加上了–enable-shared,才会编译这个共享库,默认的位置是 python 可执行程序所在目录的 lib 目录下,如/usr/local/python27

参考链接

1
2
# 编译样例
./configure --prefix=/usr/local --enable-shared --enable-optimizations

小知识点

1
2
3
4
5



TX:发送流量
RX:接收流量

查看所有进程中的得分情况

1
2
3
4
5
6
7
#!/bin/bash
for proc in $(find /proc -maxdepth 1 -regex '/proc/[0-9]+'); do
printf "%2d %5d %s\n" \
"$(cat $proc/oom_score)" \
"$(basename $proc)" \
"$(cat $proc/cmdline | tr '\0' ' ' | head -c 50)"
done 2>/dev/null | sort -nr | head -n 40

资源链接

TODO

  1. 学历资料准备…. 证件等
  2. 热水袋

HugeGraph

  1. 200 docker-fdm_server
    http://192.168.100.200:15022/ 可视化界面
    http://192.168.100.200:15021/graphs 后台界面
    有数据
  2. 200 本地 HugeGraph - 支持 HugeGraph 文件导入等功能
    目录: /home/colinvon/software/packages/hugegraph
    http://192.168.100.200:8088 可视化界面
    http://192.168.100.200:8080/graphs 后台界面
    无数据 3.服务启停参考脚本 200 /fdm_start.sh 4.对应配置修改项
    export PROJECT_GRAPH_MODE=NEO4j
    export HUGEGRAPH_HOST=192.168.100.200
    #export HUGEGRAPH_PORT=8080
    export HUGEGRAPH_PORT=15021
    export HUGEGRAPH_DIR=
    /hugegraph/hugegraph-0.9.2
    export HUGEGRAPH_LOADER_DIR=/hugegraph/hugegraph-loader-0.9.0
    export HUGEGRAPH_STUDIO_DIR=
    /hugegraph/hugegraph-studio-0.9.0

模型固化

  1. 自主建模节点,新增模型 OK

  2. 模型固化 保存至中间库/报告

  3. 模型管理

    1. 删查 OK 改 TODO
    2. 模型运行 ok 模型日志 TODO
  4. 其他

    1. 跳转模型 - 通过回溯挖掘 跳转到自主建模
    2. 创建图 - 通过回溯挖掘的模型固化信息 - 创建自主建模
  5. 回溯挖掘
    参数传递 规则制定

  6. 系统跑批

  7. 模型更新 ok

  8. 单独日志记录

其他问题:

  1. 模型固化或,运行模型时,原有 ES 节点的日期限制是否剔除,还是仅增加跑批日期
    exp:
    es 节点 20170101-20180101. 跑批日期: 20170201
    第一种: 20170201
    第二种: 20170101-20180101 and 20170201
  2. 模型固化后的数据 加入到报告中吗?

今日内容

  1. 模型固化
    1. 模型固化 保存至中间库/报告 进行中
    2. 模型删除 已完成
    3. 名称修改 udm 已完成

云计算

今日完成

  1. 模型固化-数据保存 已完成
  2. 模型固化-日志记录 进行中

JS 正则表达式使用

Python 正则表达式使用

python tools.py –rebuild_orm fdm_user_define_model_info
python tools.py –rebuild_orm fdm_user_define_model_node
python tools.py –rebuild_orm fdm_user_define_model_batch
python tools.py –rebuild_orm fdm_user_define_model_log

英语作业:英语作业:
1:抄写英语单词 P5 和 P7(8+4)
2:完成练习册第一课时和第二课时
3:熟背单词 P5 和 P7

Python 使用 re 模块正则提取字符串中括号内的内容示例

1
2
3
4
5
6
7
8
9
10
11
12
# -*- coding:utf-8 -*-
#! python2
import re
string = 'abe(ac)ad)'
p1 = re.compile(r'[(](.*?)[)]', re.S) #最小匹配
p2 = re.compile(r'[(](.*)[)]', re.S) #贪婪匹配
print(re.findall(p1, string))
print(re.findall(p2, string))
输出:

['ac']
['ac)ad']

g.V(“1:13837540883”)
.repeat(bothE().otherV().simplePath()).until(hasId(“1:13837547883”)
.or().loops().is(gte(4))).hasId(“1:13837547883”)
.path().limit(1)

模型固化 bug

今日完成任务

  1. 模型固化 前端节点样式 修改 已完成 任务序号:117
  2. 数据保存 bug 修复 已完成 任务序号:98
  3. 模型固化-可疑报告保存 进行中

剩余任务 进行中

  1. 存在孤立空节点时报错 无规则可运行
  2. 存在多个模型固化节点时报错, 请重新运行此节点
  3. 模型固化-自主建模 基础节点存在部分问题
  4. 模型固化-数据保存 可疑报告模式待完成

模型固化使用说明

  1. 必须配置 ES 节点,最多配置一个模型固化节点。

今日完成

  1. 文档第三稿 已完成
  2. 数据选取, 金额无法显示问题 已完成
  3. 模型固化测试案例 已完成
  4. 模型固化修改 进行中

PI 币或可实现财富自由 https://m.jinse.com/blockchain/576343.html?source=m
安卓下载地址:https://www.lanzous.com/i6pwe2j
invited code:world777

df[0:2].apply(lambda e:func(e,’phone_num’,’test’),axis=1, result_type=’broadcast’)

  1. 模型试运行的意义

模型试运行
碰到的问题就是模型试运行中,因为需要运行自身的节点,但是自身节点未预览确定。
导致无法试运行。

标签筛查->特征筛查
sed -i “s/标签筛查/特征筛查/g” server/fdm/mining/index_inspact.py
sed -i “s/标签筛查/特征筛查/g” server/fdm/mining/index_inspact.pyc
sed -i “s/标签筛查/特征筛查/g” server/fdm/scripts/init_menu.py
sed -i “s/标签筛查/特征筛查/g” server/fdm/scripts/init_menu.pyc
sed -i “s/标签筛查/特征筛查/g” server/fdm/services/tag_warning.py
sed -i “s/标签筛查/特征筛查/g” server/fdm/services/tag_warning.pyc
sed -i “s/标签筛查/特征筛查/g” server/fdm/tools/analog/data_show_suzhou.py
sed -i “s/标签筛查/特征筛查/g” server/fdm/views/tag_warning.py
sed -i “s/标签筛查/特征筛查/g” server/fdm/views/dataload.pyc
sed -i “s/标签筛查/特征筛查/g” server/fdm/views/tag_warning.pyc
sed -i “s/标签筛查/特征筛查/g” server/fdm/views/dataload.py
sed -i “s/标签筛查/特征筛查/g” web/fdm/views/data/loadedDatasetController.js
sed -i “s/标签筛查/特征筛查/g” web/fdm/services/dataloadService.js
sed -i “s/标签筛查/特征筛查/g” web/fdm/main.html

筛查指标->特征筛查
sed -i “s/筛查指标/特征筛查/g” server/fdm/scripts/init_index_inspact_model.py

指标筛查->特征筛查
sed -i “s/指标筛查/特征筛查/g” web/fdm/views/warning_report/tag_of_warning_results.html
sed -i “s/指标筛查/特征筛查/g” server/fdm/views/dataload.py
sed -i “s/指标筛查/特征筛查/g” server/fdm/model/index_report.py
sed -i “s/指标筛查/特征筛查/g” server/fdm/model/mining_models.py
sed -i “s/指标筛查/特征筛查/g” server/fdm/mining/index_inspact.py
sed -i “s/指标筛查/特征筛查/g” server/fdm/services/tag_warning.py
sed -i “s/指标筛查/特征筛查/g” server/fdm/scripts/init_label.py

筛查特征->特征筛查
sed -i “s/筛查特征/特征筛查/g” web/fdm/views/data/loaded_dataset.html

参考资源

vscode Python 代码行长设置(修改代码自动换行长度)

1
2
3
4
1. 明确代码格式化插件,默认是autopep8
2. 首选项,搜索autopep8, 添加项 --max-line-length=160 即可
如果其他语言,使用的是 preitter 插件
同样搜索 preitter, 找到 width ,修改此参数即可。

MarkDown

1
2
3
$\overline{\text{上划线}}$
~~中划线-删除线~~
<u>下划线</u>

中划线-删除线
下划线

Bash-Shell 常用命令

1
2
3
4
5
6
7
8
# 日志信息打印 标准错误和标准输出 打印到1.log中
bash tmp.sh > 1.log 2>&1



# 指定行写入文件 1,10
sed -n '1,10'p /etc/test1 >>test2

Spark-Hive 常用命令

1
2
3
4
5
6
7
8
9
-- 查询数据
select p_date,count(1) from db_ods_test.ods_ei_basic_tsc_tax_illegal_ds group by p_date order by p_date;



-- 查看 HDFS 信息
hadoopfs -ls hdfs://offline-cluster/user/hive/warehouse/db_dwd_test.db/dwd_ei_basic_tsc_tax_illegal_ds/p_date=20200917/


函数 说明

1
2
3
4
5
6
sub(pattern,repl,string)	把字符串中的所有匹配表达式pattern中的地方替换成repl
[^**] 表示不匹配此字符集中的任何一个字符
\u4e00-\u9fa5 汉字的unicode范围
\u0030-\u0039 数字的unicode范围
\u0041-\u005a 大写字母unicode范围
\u0061-\u007a 小写字母unicode范围

将dataframe导成csv,并保存到本地

1
2
3
4
5
6
7
8
9
10
11
12
13
14




dfResult = spark.sql("select * from tmp.lanfz_dirty_imei")
dfResult.write.format("csv").option("header","true").mode("overwrite").save("/user/lanfz/dirty_imei/")
# 注意:结果目录可能会产生多个文件
# 提供以下两种方式合并文件,并获取到本地
# 方式一(适用较大数据量)
dfResult.write.format("csv").option("header","true").mode("overwrite").save("/user/lanfz/dirty_imei/")
hadoop fs -getmerge /user/lanfz/dirty_imei/* dirty_imei.csv
# 方式二(适用较小数据量)
dfResult.repartition(1).write.format("csv").option("header","true").mode("overwrite").save("/user/lanfz/dirty_imei/")
hadoop fs -get /user/lanfz/dirty_imei/* dirty_imei.csv

virtualenvwrapper

虚拟环境软件包,相比 Virtualenv 而言,集中了对环境的统一控制

软件配置

1
2
3
4
5
6
7
# 安装 virtualenvwrapper
pip3 install virtualenvwrapper

# 配置环境变量 vim ~/.bashrc
export WORKON_HOME=$HOME/.virtualenvs (虚拟环境工作目录)
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3.6 (虚拟环境运行的python版本)
source /usr/local/bin/virtualenvwrapper.sh(virtualenvwrapper脚本所在目录)

常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 查看所有虚拟环境
lsvirtualenv
workon

# 激活/切换虚拟环境
workon [虚拟机环境名称]

# 退出虚拟环境
deactivate

# 创建虚拟环境
mkvirtualenv [虚拟机环境名称] [--python=xxxx 指定Python版本]

# 删除虚拟环境
rmvirtualenv [虚拟机环境名称]

# 进入虚拟环境目录
cdvirtualenv

# 列出虚拟环境的包
lssitepackages

click 文件传参

参考链接

Linux-crontab 定时任务配置

TODO 待完善

crontab 命令用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行

Crontab 有三种格式。Linux/Java(Sprint)/Java(Quartz), 其中 Linux 不支持秒,其他都支持秒!!!

默认 Linux 系统采用的是 linux-crontab。

Linux-Crontab 说明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 配置说明
/var/spool/cron/ 目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
/etc/crontab 这个文件负责调度各种管理和维护任务。
/etc/cron.d/ 这个目录用来存放任何要执行的crontab文件或脚本。
我们还可以把脚本放在/etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly、/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

# crontab [-u username]    //省略用户表表示操作当前用户的crontab
-e (编辑工作表)
-l (列出工作表里的命令)
-r (删除工作作)

# crontab
* 取值范围内的所有数字
/ 每过多少个数字
- 从X到Z
,散列数字

Linux-Crontab 配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# 分 时 天 月 星期(0和7为周日)
[0-59] [0-23] [1-31] [1-12] [0-7]


特殊字符说明
- *
- , 匹配多个时间. 3,4
- L 代表last. 5L 最后一个星期五/一个月的最后一天
- W 指定最接近给定日期的工作日(星期一-星期五). 15W,意思是:“最接近该月15日的工作日
- ? “?”用来代替“*”以将月中的某一天或周中的某一天留空 # TODO
- / */5 每5min执行一次

# > 参考样例
# 每月最后一天
0 0 L * *

# 日和周的冲突问题 只有在日和周两者都不是*的时候,才是or的关系
# 7月13号 或 7月的每周二
0 0 13 7 2

https://www.runoob.com/w3cnote/linux-crontab-tasks.html

浏览器相关

1
2
# SwitchyOmega.crx 安装提示 CRX_HEADER_INVALID
重命名为rar,解压后,使用chrome的导入解压包进行导入

文件读写 with open as

文件读写

1
2
3
4
5
6
7
8
9
10
11
w:以写方式打开,
a:以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+:以读写模式打开
w+:以读写模式打开 (参见 w )
a+:以读写模式打开 (参见 a )
rb:以二进制读模式打开
wb:以二进制写模式打开 (参见 w )
ab:以二进制追加模式打开 (参见 a )
rb+:以二进制读写模式打开 (参见 r+ )
wb+:以二进制读写模式打开 (参见 w+ )
ab+:以二进制读写模式打开 (参见 a+ )fp.read([size])

常用工具

typora

typora 使用手册

json-flatten

python 函数用于将 json 对象展平为一个成对的字典,并将该字典取消扩展为 json 对象,
适合数据传输

json-flatten

zabbix-分布式系统监视和网络监视

zabbix

浏览器插件

Google 浏览器插件-掘金 (新标签页时打开掘金网站)