备份机制
使用 sleepwatcher 包在每次电脑唤醒时,触发备份脚本。
使用brew安装sleepwatcher
brew install sleepwatcher
设置自启动
brew services start sleepwatcher
查看sleepwatcher
进程是否启动
ps aux | grep sleepwatcher
可以看到监听了两个脚本文件,分别是.sleep 和 .wakeup,对应睡眠和唤醒。
zs 12758 0.0 0.0 34170500 1304 ?? S 3:15下午 0:00.02 /usr/local/opt/sleepwatcher/sbin/sleepwatcher -V -s /Users/zs/.sleep -w /Users/zs/.wakeup
.sleep 和 .wakeup 文件默认没有,需创建
touch .sleep
touch .wakeup
sudo chmod +x .sleep
sudo chmod +x .wakeup
创建备份脚本
先创建一个脚本文件 backups-data.sh
#!/bin/sh
# 该脚本用于备份 mysql 数据和 程序源码
curDate=$(date +"%Y-%m-%d")
ssh testHost \
"mysqldump -f xxx_db|bzip2 -c" \
> /Users/zs/abc/$curDate-mysql.bzip2 # 登录到远程主机,备份xxx_db数据库并压缩,最后传回本地
ssh testHost "tar -czvf $curDate-source.tar.gz -C /home/zs/ xxx-bak-dir" # xxx-bak-dir 表示需要备份的目录
scp testHost:/root/$curDate-source.tar.gz /Users/zs/abc/ # 使用 scp 将备份的压缩包传回本地
ssh testHost "rm -rf $curDate-source.tar.gz" # 备份完后删除远程压缩包
注意:
1,ssh testHost 需要提前配置 ssh 免密登录,请参考 客户端>使用二
2,上面的 zs 表示系统用户名