担心数据丢失?教你3分钟实现自动压缩,备份文件夹。
最近在使用obsidian,想要在多台电脑上访问一个同一个仓库,所以我把obsidian-vault设置在了mac-mini的共享文件夹上。
但是有一个问题,mac-mini上边的硬盘是我的闲置硬盘,随时都可能挂掉。
一、通过脚本自动备份
为了避免obsidian的数据丢失,我搞了个简单的ps脚本来实现自动备份,自动备份Z盘下的obsidian-share文件夹到M盘的备份文件夹中,内容如下:
# 时间戳,作为备份文件的后缀
$timestamp = Get-Date -Format "yyyyMMddHHmmss"
# 要备份的源文件夹,我要备份obsidian的库
$folderPath = "Z:\obsidian-share\Obsidian-share"
# 要压缩到的目标文件,我要放到M盘的一个zip中
$destinationPath = "M:\backups\obsidian-share备份\Obsidian-share_$timestamp.zip"
# 执行压缩命令
Compress-Archive -Path $folderPath -DestinationPath $destinationPath
各位可以根据需求,修改$folderPath
和$destinationPath
的内容。
在powershell中运行以上脚本,即可把obsidian-share文件自动压缩为一个zip。
二、保存为脚本文件ps1
但是每次都要手动输入脚本,太麻烦,所以把它保存为一个ps1文件,然后再创建一个快捷方式,双击即可运行。
1、打开记事本,把上边的脚本粘贴进去
2、保存为"xxx.ps1",如果路径含有中文,记得选择编码为ANSI,不然会出错
3、在默认条件下,powershell不允许运行脚本文件,需要用管理员打开powershell,运行以下内容:
Set-ExecutionPolicy RemoteSigned
然后输入y确认。然后就可以右键xxx.ps1,点击"使用PowerShell运行"即可执行该脚本。
三、创建快捷方式,或计划任务
每次都要右键运行,还是有点麻烦,有两个方案:
A、新建一个快捷方式,填入
powershell.exe -NoExit -File "D:\你的文件夹\xxx.ps1"
这里的-NoExit
是为了看看有没有报错,如果没有,可以删掉-NoExit
。
然后xxx.ps1就是刚才我们保存的ps脚本文件。
之后就可以双击这个快捷方式来运行该脚本。
B、使用“任务计划程序”创建计划任务
手动运行还是麻烦?搞个自动化的。
1、打开任务计划程序
按 Win + S
,搜索“任务计划程序”并打开它。
2、创建基本任务
在任务计划程序的右侧,点击“创建基本任务”。
3、设置任务名称和描述
在“创建基本任务向导”中,输入任务的名称(例如“obsidian自动备份”)和描述,然后点击“下一步”。
4、选择触发器
选择“每天”,然后点击“下一步”。(也可以根据你的需求,每周或者每月执行一次)
5、设置开始日期和时间
选择任务的开始日期和时间(时间我选了每天晚上20:00,因为我的电脑这个时候都是开机状态),然后点击“下一步”。
6、选择操作
选择“启动程序”,然后点击“下一步”。
7、配置程序/脚本
在“程序/脚本”字段中,输入 powershell.exe
。
在“添加参数”字段中,输入以下内容(根据实际情况填写你的ps1脚本位置):
-File "D:\77513\Desktop\桌面杂物间\backup_obsidian.ps1"
8、完成任务创建
点击“下一步”,查看任务摘要,然后点击“完成”。
之后每天晚上20:00就会自动运行一次备份obsidian-share文件夹的操作。