# 自动同步工具 **Repository Path**: ADreamClusive/automatic-synchronization-tool ## Basic Information - **Project Name**: 自动同步工具 - **Description**: 基于 macos 的 crontab 实现的自动同步工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-19 - **Last Updated**: 2024-11-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 自动同步工具 #### 介绍 基于 macos 的 crontab 实现的自动同步工具 #### 使用说明 ```js ####################### 一款没有任何副作用的自动同步工具 ##################### ⚠️ ⚠️ ⚠️ 基于 Git 仓库实现,仅用于个人文件同步,开发项目谨慎使用 ⚠️ ⚠️ ⚠️ 0. 脚本下载后,放在任意目录下 1》执行 generate_crontab_task_template.sh 生成 crontab 配置文件 2》修改 auto_sync_to_git.py 配置需要同步的 git 仓库本地目录; 3》执行 ./auto_sync_start.sh 弹出系统对话框,选择允许,即可 1. 设置需要自动同步的 git 目录 2. 设置是允许的操作,默认只支持本地 commit 3. 通过 crontab_task.sh 配合,设置同步的频率 (目前只支持所有目录采用同一个频率) 4. 操作日志存储在,脚本所在目录下的 .log 目录下,每小时产生一个文件 ########################################################################## ``` #### 生成的操作日志格式如下 ```plain ############################## 2021-12-19 17:37:00 ############################## ------------- path 001 /Users/zljiao/Desktop/test02 ---------------- ==== executing git status ... On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean ==== executing git add ... ==== executing git commit ... On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean ==== executing git push refused ############################## 2021-12-19 17:37:01 ############################## ------------- path 002 /Users/zljiao/study-notes ---------------- ==== executing git status ... On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean ==== executing git add ... ==== executing git commit ... On branch master Your branch is up to date with 'origin/master'. nothing to commit, working tree clean ==== executing git push refused ``` path 001 : 表示配置的自动同步的目录的序号,从 1 开始 #### 配置需要同步的 仓库 ```python # auto_sync_to_git.py syncItem01 = AutoSyncItem('/Users/zljiao/Desktop/test02') syncItem01.allowedCommand = CommandType.git_all # 设置允许的同步操作: 仅提交到本地commit/push/commit + push syncTool.items.append(syncItem01) ```