简单的shell脚本搭配Crontab实现linux定时备份设定文件(夹)
目录
场景⌗
- 自用linux系统装在一块不是太稳定的硬盘里,很多服务启动脚本、docker容器脚本需要定期备份到另一块硬盘上
- 硬连接不适用于文件夹、跨盘连接
- 软链接在源文件丢失、挂掉的情况下会失效
解决方案⌗
- 使用简单的一个shell脚本向目标位置复制需要备份的文件(夹)
- crontab是linux提供的定时任务,搭配上述脚本实现每xx时间自动执行shell脚本
脚本⌗
services=( \
"path/to/some/file/or/folder" \
"path/to/another/file/or/folder" \
)
destination="/path/to/destination/folder/"
for elem in ${services[@]}
do
echo "# Backuping $elem"
cp -r $elem $destination
done
echo "--------------------------------"
date
echo "- All backup task completed! -"
echo "--------------------------------"
echo "--------------------------------"
echo -e "\n\n"
设置定时任务⌗
- 打开定时任务编辑
crontab -e
- 添加任务
# backup all of my services at 3:50 every day
50 3 * * * bash /path/to/backup_services.sh >> /path/to/backup.logs 2>&1 &
- 保存查看
crontab -l
Read other posts