全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
12
返回列表 发新帖
楼主: angus1220

求rclone 定时备份方法

[复制链接]
发表于 2020-4-4 23:01:16 | 显示全部楼层
wop 发表于 2020-4-4 22:35
直接抄能用吗

按照你自己的需求进行修改哦,我这是随意复制的别人博客的。
发表于 2020-4-5 00:26:03 | 显示全部楼层
自己密码服务器在上面大佬模板上瞎基尔改的 配合一些搜到的教程 能用  但是好丑


#!/bin/bash

# 定义GOOGLE DRIVE的备份目录
GD_PATH="google-drive:Sync/www"

# 定义备份的目录及文件,不同的目录用空格分开
BACKUP_SRC="/var/www/typecho /var/www/chevereto"

# 定义临时文件存放目录
BACKUP_DST="/tmp"

# 设置MYSQL基本信息
MYSQL_SERVER="localhost"
MYSQL_USER="root"
MYSQL_PASS="password"

# 定义想要备份的数据库,多个数据库用空格分开
BACKUP_DATABASE="typecho chevereto"

# 定义文件前缀名
NOW=$(date +"%Y.%m.%d")
OLD=$(date -d -10day +"%Y.%m.%d")

# 定义备份文件的存储路径及文件名
DESTFILE="$BACKUP_DST/$NOW.tar.gz"

# 备份mysql数据库
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --databases $BACKUP_DATABASE > $NOW-Databases.sql

# 将备份的目录和备份的mysql数据库打包成一个压缩包并加密
tar cfz - $BACKUP_SRC $NOW-Databases.sql | openssl des3 -salt -k PASSWORD -out $DESTFILE

# 使用rclone上传到google drive
rclone copy $DESTFILE $GD_PATH

# 删除本地的临时文件
rm -f $NOW-Databases.sql $DESTFILE

# 删除10天前的备份
#rclone delete $GD_PATH/$OLD.tar.gz
复制代码





1.定时执行脚本
1.1 连接远程主机,连接成功后。输入命令 crontab -e (可以先看一下定时列表 crontab -l)
1.2 打了文件,然后输入 i 进入编辑模式
1.3 输入完毕即按 Esc =》 输入冒号:=》输入wq或者wq! 然后回车保存,保存完毕要重启crontab:
到此定时执行脚本结束。

service crond start //启动服务
service crond stop //关闭服务
service crond restart //重启服务
service crond reload //重新载入配置

前面五位是定时执行的时间周期 说明如下:

第一个 * 表示分钟:取值范围 0-59

第二个 * 表示小时:取值范围0-23

第三个 * 表示天数:取值范围1-31

第四个 * 表示月份:取值范围1-12

第五个 * 表示每周:取值范围0-6

使用(-)可以划定范围

 如:0 0-3 * * *  脚本        表示每天0-3点整执行脚本

使用(,)可以枚举时间

 如: 0,15,30,45 * * * * 脚本    表示每个小时的0分,15分,45分,30分会执行脚本

使用(/)可以指定间隔

 如:* */8 * * * 脚本         表示每8小时执行脚本

组合用法

0-20/10 * * * * 脚本        表示在前20分钟内每隔10分钟执行脚本

本人的一个定时脚本语句:

10 9 * * * hadoop jar /tycrtest/test2.jar   默认root 每天9点10执行hadoop jar /tycrtest/test2.jar 这个脚本
————————————————
版权声明:本文为CSDN博主「光滑的秃头」的原创文章,遵循 CC 4.0 BY 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ycf921244819/java/article/details/80520217


2.定时命令
2.1 首先我们创建一个php做执行动作,非常简单,就是把当前时间写入log。

2.2 创建一个sh文件

#创建sh文件 cat kick.sh #写入
在sh文件里写入

#!/bin/bash step=10 #间隔的秒数,不能大于60 for((i=0;i

shell 实现获取当前时间,并进行格式转换的方法:

1)原格式输出

2018年 09月 30日 星期日 15:55:15 CST

time1=$(date)
echo $time1


2)时间串输出

20180930155515

1 #!bin/bash
2 time2=$(date "+%Y%m%d%H%M%S")
3 echo $time2


3)2018-09-30 15:55:15

#!bin/bash
time3=$(date "+%Y-%m-%d %H:%M:%S")
echo $time3
4)2018.09.30

#!bin/bash
time4=$(date "+%Y.%m.%d")
echo $time4
注意

1、date后面有一个空格,shell对空格要求严格

2、变量赋值前后不要有空格



3、解释


1 Y显示4位年份,如:2018;y显示2位年份,如:18。
2 m表示月份;M表示分钟。
3 d表示天;D则表示当前日期,如:1/18/18(也就是2018.1.18)。
4 H表示小时,而h显示月份。
5 s显示当前秒钟,单位为毫秒;S显示当前秒钟,单位为秒。
发表于 2020-4-5 00:30:40 | 显示全部楼层
羊毛党 发表于 2020-4-4 22:03
你要的用日期标题文件夹……就是用日期参数创建文件夹,看了下面的脚本内容,你应该会的 。

同志们 新添加的 备份上传到 gdrive 好像不行了啊  

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-5 22:16 , Processed in 0.058664 second(s), 7 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表