2024年4月20日

HYEOS

随事而为

bench命令简介

2 min read

General Usage
• bench –version – 显示bench的版本
• bench version – 显示所有app的版本
• bench src – 显示bench源码位置
• bench –help – 显示所有的命令帮助
• bench [command] –help – Show help for command 显示bench命令的帮助

• bench init [bench-name] – Create a new bench (Run from home dir) 初始化一个新的bench
• –python 指定python的路径
• –ignore-exist 忽略bench已经存在的实例
• –apps_path 指定bench初始化后需要安装的app 的json文件路径
• –frappe-path 指定frappe的代码库位置,一般用国内的gitee来代替github, 比如 –frappe-path=https://gitee.com/qq82096089/frappe
• –frappe-branch 指定frappe的版本
• –clone-from 指定克隆代码库的地址
• –clone-without-update 复制代码库的代码而不升级
• –no-procfile 拉bench中所有app的最新代码
• –no-backups 在不备份的情况下更新bench实例下所有的站点
• –no-auto-update 构建bench的所有js和css
• –skip-redis-config-generation 跳过自动生成redis的配置文件
• –verbose 输出安装过程中的详细信息

• bench –site [site-name] COMMAND 有关site的命令

• bench update – 升级所有的app,补丁,构建js和css。
• –pull 拉bench中安装的所有的app的最新代码。
• –patch 升级bench中的所有站点
• –build 构建所有的js和css。
• –bench 升级bench
• –requirements 升级所有需要的依赖文件
• –restart-supervisor 升级后重启supervisor进程
• –no-backup 升级而不执行备份
• –reset 忽略本地的更改而升级

• bench restart 重启所有的bench服务
• bench backup 备份默认站点, 保存在 ~/frappe-bench/sites/{your site}/private/backups/.
• bench backup-all-sites 备份所有的站点
• –with-files 备份的同时将文件也一同备份

• bench restore Restore Bench备份和还原
• –with-private-files 还原站点和私有文件(指向tar压缩文件的路径)
• –with-public-files Restore 还原站点和公有文件(指向tar压缩文件的路径)

• bench migrate 升级补丁, 同步数据库结构和重建文件和翻译
• –rebuild-website 升级的同时重建的网站页面

• bench migrate-env [python-version] 升级python虚拟环境到希望的版本

• bench –site [sitename] set-admin-password [password] 重设管理员administrator的密码

• bench destroy-all-sessions 销毁所有的会话

Config
• bench config – 改变Bench的配置
• auto_update [on/off] 启用/禁用是否自动升级功能
• dns_multitenant [on/off] 启用/禁用DNS多租户
• http_timeout 设置Http超时时间(刚刚启动设置公司等信息超时的用户,调整这里到600~6000,根据网络)
• restart_supervisor_on_update 启用/禁用升级时自动重启supervisor守护进程
• serve_default_site 配置nginx服务于默认站点
• update_bench_on_update 启用/禁用升级正在运行中的bench….

Bench setup 安装组件
• auto-update 增加一个定时任务去自动升级bench
• backups 增加一个定时任务去执行备份
• config 重新生成新的配置文件,并覆盖掉config.json
• env 为Bench配置虚拟环境env
• nginx 生成Nginx的配置文件(在bench目录生成,并软连接到nginx的配置目录下)
• procfile 生成procfile以便Bench启动使用(监听的端口,配置文件的位置,log文件的位置)
• production 设置为生产模式
• redis 生成redis的配置文件
• socketio 为socketio服务器设置node deps
• sudoers 添加命令到sudoers
• supervisor 为supervisor生成配置文件
• add-domain 为站点添加自定义的模块
• firewall 设置防火墙除22,80,443之外,其他全部阻止
• ssh-port 改变默认的ssh链接端口
• requirements 升级python和node包
• –node 仅仅升级node包
• –python 仅仅升级Python包
• bench set-nginx-port [sitename] [port] 设置生产环境中的nginx端口

Development
• bench new-app [app-name] 创建一个新的app
• bench get-app [repo-link] 下载一个app并安装,
• –branch [branch-name] 比如安装ebclocal汉化APP bench get-app –branch master https://gitee.com/yuzelin/ebclocal.git

• bench install-app [app-name] 安装一个一个存在的app
• bench remove-from-installed-apps 从已安装的app列表中移除app
• bench uninstall-app [app-name] 删除app以及所有的相关文件(需要Bench在运行中)
• bench remove-app [app-name] 从bench中彻底删除app
• bench –site [sitename] –force reinstall 重新初始化数据库 (警告: 所有旧数据将被清除)
• bench new-site [sitename] 创建一个新的站点
• –db-name Database name 指定数据库名称,否则bench会使用加密过的数据库名
• –db-host 指定数据库主机地址
• –db-port 指定数据库的端口(默认3306)
• –mariadb-root-username 指定数据库的管理员名称(默认是root)
• –mariadb-root-password 指定数据库管理员的的密码
• –admin-password 指定新站点的管理员密码(即administrator的默认密码),建议指定,否则等等用户输入容易超时
• –verbose Verbose 详细模式
• –force 强制模式
• –source_sql 从一个指定的sql文件初始化数据库
• –install-app 初始化后要安装的app

• bench use [site] 设置指定的站点为默认
• bench drop-site 从数据库和硬盘删除站点
• –root-login 数据库管理员名称
• –root-password 数据库管理员密码

• bench set-config [key] [value] 增加一对键值到配置文件中, 比如设置为debug模式:bench set-config developer_mode 1
• bench console 在Bench环境中打开ipython终端,可直接与orm交互,最后记得要提交才生生效
• bench execute 执行任何一个app中的一条方法
• Eg : bench execute frappe.utils.scheduler.enqueue_scheduler_events
• bench –site [sitename] mariadb 打开mariadb终端
• bench –site [sitename] export-fixtures 到处设置(翻译准确性待定)
• bench run-tests 运行测试
• –app App Name app名称
• –doctype DocType 指定要测试的doctype
• –test 指定测试
• –module 允许一个包含测试的模块
• –profile 指定一个python profiler
• bench disable-production 禁用生产环境

Scheduler
• bench enable-scheduler – 启用调度进程,以便运行调度任务
• bench doctor 获取背后运行的进程的诊断信息
• bench show-pending-jobs- 显示所有队列中的任务
• bench purge-jobs – 清除所有队列总的任务

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注