Oracle 中的 Directory

  相比MySQL等其他的dbms,Directory是Oracle特有的。为啥要有Directory呢,个人理解简单的说就是文件系统路径的快捷方式,并在相应的系统表里存储。每个Directory与用户绑定,在其他与文件系统交互的场景下使用,比如expdp/impdp 数据导出导入。

基本操作如下:

# 查询现有的目录
select * from dba_directories;
# 创建目录
create or replace directory DIR1 as 'D:\data';
# 把刚刚创建的目录赋权(读写权限)给用户USER1
grant read,write on directory DIR1 to USER1;
# 删除目录
drop directory DIR1;

[……]

继续阅读 »

RouterOS 6.47+ DNS转发

关于6.47的DNS除了新增了DoH功能外,还增加了静态条目多种类型,

*) dns – added support for forwarding DNS queries of static entries to specific server;
*) dns – added support for multiple type static entries;

正好有需求,某些特定网站需要单独解析,配合静态路由设置,单独走特定VPN线路
配置DNS转发具体在ip dns static下,新增一条记录,type里选择FWD(转发),可以直接在name里写域名,或者在regexp里写正则表达式,比如*.baidu.com,在winbox里的Regexp里可以这样写:
. *\.baidu\.com
这样一来,相当于RouterOS原生提供了类似DNSmasq的功能,能够干很多事情
参考这篇[……]

继续阅读 »

Ubuntu14.04下硬盘UUID缺失问题解决

  上篇提到数据被误删恢复,这次还是那台机器(某Ubuntu14.04@VMware ESXi的虚拟机),数据备份好之后,需要配置fstab自动挂载,结果新盘硬是找不到UUID。参考这篇解决:

# 切换到root
sudo -i
# 生成uuid并写入
uuidgen | xargs tune2fs /dev/sdc1 -U
# 查看硬盘UUID
ls -l /dev/disk/by-uuid
# 或者
blkid
[……]

继续阅读 »

Ubuntu 14.04下恢复误删文件

  上一篇刚刚提到服务器升级了,想把某Ubuntu服务器的存储也升级成NVMe硬盘。按照之前的思路,新建一块NVMe数据磁盘上的虚拟盘,挂载到服务器上,挂载点设置在/home(之前已经扩容过一次,/home/对应的是一块500G虚拟磁盘),同时把数据备份一下。新盘挂到后,把数据由旧盘复制新盘上去。不知怎么样脑抽了一下,嫌速度慢,就停下来,并直接把复制一半的数据删除,执行rm -rf *,一看结果是在原数据目录执行的命令……

  搜索看如何恢复数据,最后按照这篇,利用extundelete基本恢复了数据。步骤如下:
1. 将旧盘安装到其他linux虚拟机上,并查看旧盘标识符
sudo fdisk -l
这里我的旧盘是sdb1
2. 下载安装恢复软件
sudo apt-get install extundelete
3. 执行恢复
extundelete --restore-all /dev/sdb1
执行起来比较耗费CPU和内存,建议找台性能强点的机器,恢复的文件在当前执行命令目录下的RECOVERED_FILES目录下[……]

继续阅读 »

VMWARE ESXi 5.5安装NVMe 硬盘驱动

  最近给某台老旧联想服务器(ThinkServer TD350)做了升级,先是把CPU由一块E5-2609 V3升级到两块E5-2680 V4,内存又加了64G,后来觉得存储性能还是有问题,主板提供了7条PCIE插槽,双路E5 PCIE通道又管够,打算上NVMe接口的固态盘。装上之后,BIOS可认,同时也可以设置作为启动设备。但遇到了一个问题,虚拟平台装的是ESXi 5.5,直接启动进入配置认不到硬盘。
研究了一下,ESXi 5.5太老,没有内置NVMe支持,需要手动装驱动之后就好了。
1. 准备工作
– 配置ESXi Shell和SSH,以便登录上去执行命令行。可参考这篇这篇;
– 下载驱动
这里下载驱动
2. 安装驱动
SSH连接ESXi后,利用SCP工具将VIB格式驱动文件上传到相应目录,或者直接将驱动文件上传到数据存储中(以datastore1为例,可在Shell下通过以下路径/vmfs/volumes/datastore1/访问)
在Shell里执行:
esxcli software vib install -v <路径>/nvme-1.0e.0.30-1v[......]

继续阅读 »

修改数据库字段解决WordPress默认主题损坏的问题

  一直喜欢maupassant主题,该主题为cho大神针对Typecho开发的版本,之前使用的针对wp改的版本和WP Editor.MD 存在兼容问题,后台每个页面点击都一秒多才响应,今天换了另外一个改进版本,结果该版本主题传上去,直接提示主题损坏,进入后台删除该主题,结果仍然提示maupassant主题目录不存在。按理说把当前主题删除后,应该会启用默认主题的,可能之前不小心删掉了部分默认主题。研究了一下可以通过直接改数据库来解决,具体如下:
  登录数据库后(习惯使用navicat),打开表wp-options,修改template和stylesheet字段为其他可用主题名称,我这里之前有twentyfifteen,就改成了这个。

update wp-options t set t.template='twentyfifteen',t.stylesheet='twentyfifteen';
[……]

继续阅读 »

Ubuntu 20.04下配置frp自启动

  frp作为广泛使用的内网穿透开源工具,之前官方文档一直没有如何设置开机启动的说明。之前在GitHubissue里看到过一个如何设置自启动的说明,然后别的博客也在转载使用跟这个方法。
  目前最新版(本文撰写时版本:)的frp下载包里也内置了systemd的目录,提供了基本的基于systemctl的自启动设置文件(包含frps和frpc),证明该方法(利用systemctl设置自启动)是比较好的一种方法。
  官方的frps.service配置如下:
[Unit]
Description=Frp Server Service
After=network.target

[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /etc/frp/frps.ini

[Install]
WantedBy=multi-user.target

  该配置文件需要更新一下,把你的frps和frps.ini路径更新一下,或者把这俩文件复制到配置文件指定的目录里。(f[……]

继续阅读 »

[转载]autoindex.html – 一行配置美化 nginx 目录成 github 风格

自己随便学习开发的用的Web环境下网站目录习惯开启目录浏览,之前用apache,默认界面很丑,最近换成了nginx,找了一下发现有非常简单优美的解决方案,转载一下做个记号:

现状:

  1. nginx 的 autoindex 虽然速度比较快,但是美化不足,可以说巨丑。
  2. 类似 h5ai 解决方案这种又十分笨重,性能堪忧。

改进:

  1. 使用 nginx 的 autoindex 页脚(footer) 功能添加 javascript 来重新渲染并美化页面。
  2. 使用 twitter bootstrap 和 github octicons 做素材, 并适配移动端
  3. 检测当前页面 Readme.md 并渲染,和 github 保持一致。

演示:

  1. https://phuslu.github.io/

教程:

  1. 把 https://phuslu.github.io/autoindex.html 下载到网站 wwwroot 根目录。
  2. 在 nginx autoindex 指令下面添加 add_after_body /autoindex.html; [……]

    继续阅读 »