在 Akina 模板的开发过程中开发目录与项目运行目录不一样,需要一个工具时时同步两个文件,尝试过使用软连接,然而 php 不识别。百度后找到两个工具,配合使用完美实现文件的单向同步。
安装rsync
rsync 可以实现文件夹的同步
dnf install rsync
# 使用格式
rsync -a 源目录 目标目录
安装inotify
dnf install inotify-tools
监控文件(夹)的改动
脚本
#!/bin/bash
# 源文件
echo "监控文件修改中..."
From_dir="/root/workspace/Akina-for-Typecho/Akina"
# 同步命令
Rsync_cmd="rsync -av --delete /root/workspace/Akina-for-Typecho/Akina /www/wwwroot/cs.zixu.site/usr/themes/"
# 循环监控
while inotifywait -rqq -e modify,attrib,move,create,delete ${From_dir}
do
echo "执行同步..."
${Rsync_cmd}
echo "同步完成!"
echo "监控文件修改中..."
done
若志奕鑫
没看懂这有啥用
子虚之人
@若志奕鑫 : 开发目录与Typecho的主题目录不在一个位置,且开发文件夹里其他文件过多。这个脚本可以实时监控文件的修改将改动复制到运行环境。