ERPNext系统维护常用命令

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

--db_password //待验证,新数据库的密码

--db_name //代码中有,已经验证

 

• 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 - 清除所有队列总的任务