如何在linux服务器中定时将文件发送至本机

如何在linux服务器中定时将文件发送至本机,第1张

可以通过cron job实现

先写一个脚本,命令是通过mail将文件发送给用户的邮箱,类似

mail -s "title" anyone@mail.com <filename

然后设置cron job,定时运行即可

写的一个简单脚本.linux1 = A (不定时生成文件)linux2 = B (需隔一天后使用文件)B 主机必须提供FTP服务,建立相应的FTP用户,具备相应的上传权限和容量等./home/backup :文件备份临时目录/home/bak :本地文件备份目录注意:如果服务器语言为英文,请将脚本内中文注释改为英文或删除.A 主机-----------------------------------------------------------------------mkdir /home/backupmkdir /home/bakvi /home/backup.shvi /etc/crontab30 2 * * * root /home/backup.sh#建立目录,设置每天2:30定时执行备份脚本 backup.sh内容#!/bin/bash## 说明:# 自动备份本机文件到远程FTP#PATH=/bin:/usr/bin:/sbin:/usr/sbinLANG=CLC_ALL=C# 设置A路径date='date +%Y-%m-%d'bakdir=/home/backuphome=/home# A主机 "/etc/目录下的文件" cp -a /etc/* $bakdir# 延迟20S,等文件拷贝结束sleep 20ssyncsync# 在本机压缩与打包cd $bakdirtar -zcf "$date".tar.gz *sleep 20ssyncsync# 备份到B主机id="username"pw="yourpassword"cd= $bakdir# 利用FTP备份到192.168.1.200ftp -n 192.168.1.200 >$home/ftp.log 2>&1 <<EOCuser $id $pwbinarycd $bakdirput "$date".tar.gzbye EOCsyncsync# 移动到本机备份mv $bakdir/"$date".tar.gz $bakdir/baksleep 20ssyncsync

crontab -u 用户名(root)

* * * * * 每个星号表示 每分 每小时 每天 每月 每星期 如果是每天15:30广播一次,就是

30 15 * * * wall “hello world”

至于你自己的命令,自己看着办吧。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7522855.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-06
下一篇 2023-04-06

发表评论

登录后才能评论

评论列表(0条)

保存