从linux服务器 定时备份数据 到本地windows电脑
整体思路1、windows设置共享文件夹让linux写入2、使用定时任务 定期备份一、共享文件夹1、新建用户此电脑右键—选择管理在系统工具—本地用户和组—用户鼠标在空白处右键点击 新用户填写用户名和密码勾选不更改密码和密码不过期点击创建就可以在右侧看到新建的用户了2、新建共享文件夹右键要共享的文件夹选择属性–点击共享选项卡—共享—输入上一步新建的用户名—点击添加、共享----点击应用、确认。完成后在共享处可以看到共享的网络地址。3、在linux服务器上mount-tcifs-ousernamewin上选择的用户名,passwordwin上选择的用户密码//windows的IP地址/share /home/win/ 示例mount-tcifs //192.168.X.XXX/share /home/win-ousernames,password123/home/win/是共享文件夹在linux的目录或者说是存放位置 //192.168.X.XXX/share是本地共享目录的存放位置/路径如果你在linux 服务器上看到共享录下的文件则共享成功。二、定时任务1、先写备份的可执行文件backup.sh我这块的是复制源目录下近三天的文件#!/bin/bashSOURCE/data/source# 源目录包含20260705这类日期文件夹DEST/data/target# 目标目录LOG/var/log/3day_sync.logecho 最近3天目录同步开始$(date)$LOGmkdir-p$DEST# 生成最近3天的日期目录名格式YYYYMMDDDAY1$(date%Y%m%d)# 今天DAY2$(date-d1 day ago%Y%m%d)# 昨天DAY3$(date-d2 days ago%Y%m%d)# 前天# 循环复制最近3天的目录forDAYin$DAY1$DAY2$DAY3;doif[-d$SOURCE/$DAY];thenecho正在同步目录:$DAY$LOGcp-rp$SOURCE/$DAY$DEST/$LOG21elseecho目录$DAY不存在跳过$LOGfidoneif[$?-eq0];thenecho最近3天目录同步成功$LOGelseecho最近3天目录同步失败$LOGfiecho 同步结束$(date)$\n$LOG3、添加定时任务 crontab1、编辑定时任务列表crontab-e2、写入定时规则常用两种示例 示例1每天凌晨2点自动执行推荐 按 i 进入编辑状态02* * * /usr/local/bin/backup.sh 格式说明分 时 日 月 星期 执行命令02* * *每天 02:00 运行 写入后按 Esc输入 :wq 保存退出。 三、定时任务管理命令# 查看当前已配置的定时任务crontab-l