基于Django3.2.7+Vue2+ElementUI的相对比较自动化生成的后台管理系统。借助SimpleUI开源项目对Django原生的Admin后台管理页面进行了二次开发和优化改进而生成的比较现代化的后台管理系统。
本项目总共有六大模块组成.其分别是:
主模块 | 大模块 | 子模块 | 功能 | 是否已实现 |
万能堡垒 | 设备管理 | 服务器管理 | ✅ | |
路由器管理 | ☑️ | |||
服务管理 | SSH服务 | ✅ | ||
数据库管理 | ✅ | |||
宝塔管理 | ✅ | |||
ES管理 | ✅ | |||
网段管理 | ☑️ | |||
穿透管理 | ☑️ |
为了实现icloud相关功能需要安装
先在izbasar目录下新建一个secret.py文件
_DEBUG = False
SECRET_KEY = ''
ADMIN_PATH = ''
ADMIN_USERNAME = ""
ADMIN_PASSWORD = ""
JWT_SIGNATURE = SECRET_KEY
JWT_ISSUER = ""
ES_USERNAME = ""
ES_PASSWORD = ""
ES_URI = "https://127.0.0.1:9002"
ES_CA = "/usr/etc/http_ca.ctr"
SMTP_EMAIL = ""
SMTP_PASSWORD = ""
MEDIA_ROOT = "/home/media"
再执行以下命令来产生数据库文件
python manage.py makemigrations
python manage.py migrate
再执行以下命令来运行项目即可
# 直接console运行
python manange.py runserver 7000
# 后台运行
nohup python manange.py runserver 7000 > app.log 2>&1 & echo $! > app.pid
nginx 下载地址 http://nginx.org/en/download.html
编译参数:–with-http_image_filter_module
http{
...
server{
...
location /icloud-shortcut {
video_thumb;
image_filter resize 100 200;
image_filter_jpeg_quality 80;
alias /external/SADAM/icloud/photos;
autoindex on;
}
location /icloud {
alias /external/SADAM/icloud/photos;
autoindex on;
}
...
}
...
}
先创建allkeeper.service文件并复制allkeeper.service.sample的内容
cp allkeeper.service.sample allkeeper.service
再修改内容, 再移到系统服务单位存储目录
vi allkeeper.service
mv allkeeper.service /usr/lib/systemd/system/
加载新加入的服务单位
systemctl daemon-reload
启动服务
systemctl start allkeeper.service
开启开机自启动
systemctl enable allkeeper.service
Windows脚本(backup_mysql.bat):
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ("%TIME%") do (set mytime=%%a%%b)
set mydatetime=%mydate%_%mytime%
set BackupFile=backup_directory\backup_%mydatetime%.sql
"mysql_install_directory\bin\mysqldump.exe" -u USERNAME -pPASSWORD DATABASE_NAME > %BackupFile%
Linux脚本(backup_mysql.sh):
#!/bin/sh
script_path="$(dirname "$(readlink -f "$0")")"
echo "当前脚本所在路径:$script_path"
backup_dir=${script_path}/backup_sql
mkdir -p $backup_dir
mysqldump -u all_keeper -p 1_nDb9tk0pwa all_keeper > ${backup_dir}/all-keeper_`date +%Y%m%d%H%M%S`.sql
将backup_directory替换为您想存储备份文件的目录
将mysql_install_directory替换为MySQL安装目录
使用真实的数据库用户名代替USERNAME
使用真实的数据库密码代替PASSWORD
使用要备份的数据库名称代替DATABASE_NAME
chmod +x backup_mysql.sh
a) Windows定时任务:
打开任务计划程序 单击”创建基本任务”,然后设置触发器(例如:每天、每周等),并选择刚创建的备份脚本作为要执行的操作。
b) Linux的cron任务:
在终端中键入crontab -e以编辑cron配置 添加以下内容(根据实际情况修改):
0 2 * * * /path/to/backup_mysql.sh
这将在每天凌晨2点执行备份任务。请将/path/to替换为脚本的实际路径。
现在Windows上执行一下命令
python3 manage.py collectstatic
然后执行一下命令
scp -rC /Users/shadikesadamu/Projects/izbasar/django-admin/public root@192.168.1.100:/root/AllKeeper/
异常:django.core.exceptions.ImproperlyConfigured: SQLite 3.9.0 or later is required (found 3.7.17).
解决方案:
sqlite3 --version
wget https://www.sqlite.org/2022/sqlite-autoconf-3400000.tar.gz
tar -xvzf sqlite-autoconf-3400000.tar.gz
cd sqlite-autoconf-3400000.tar.gz
./configure
make && make install
echo export LD_LIBRARY_PATH="/usr/local/lib">> ~/.bashrc
异常:django.db.utils.NotSupportedError: deterministic=True requires SQLite 3.8.3 or higher
升级了 sqlite 版本(因 django 怕改动太大就没有尝试卸载django重新安装的方法)。 如下,明明版本已经更新成最新了环境变量也加了,软链接指向也是最新了,可运行还是提醒版本过低。
可能是不支持新的版本,最终决定更换sqlite3 为pysqlite3 和 pysqlite3-binary
解决方案:
pip install pysqlite3
pip install pysqlite3-binary
#from sqlite3 import dbapi2 as Database #注释它
from pysqlite3 import dbapi2 as Database #新加这段代码