首页
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
友情连接
推荐
autojs
Search
1
charles破解注册码(含windows和mac)最新安装教程「亲测有效」
39 阅读
2
【omv5安装教程二】N1盒子Armbian系统下,一条命令搞定Openmediavault(OMV5)安装
18 阅读
3
【N1安装飞牛优化四】关闭不必要服务优化记录
12 阅读
4
博客简介
11 阅读
5
SSH如何访问fe80开头的ipv6????
11 阅读
登录
Search
标签搜索
JAVA
JAVA学习系列
docker
Linux
js
N1
git
模块二
端口
模块一
模块五
模块九
数据库
模块四
镜像
模块三
模块六
MySQL
百度网盘
nginx
DaiMaFengZi
累计撰写
588
篇文章
累计收到
9
条评论
首页
栏目
斐讯设备
疯言疯语
系统运维
编程语言
网站建设
页面
友情连接
推荐
autojs
搜索到
5
篇与
的结果
2024-07-10
【N1和Armbian】六、N1安装armbian后将阿里网盘WEBDAV挂载为本地磁盘
阿里的webdav方式方式有很多,比如使用alist,使用aliyundrive-webdav.alist方式的webdavalist的方式我就不多说了,可以看官网文档:https://alist.nn.ci/zh/aliyundrive-webdav方式愿意折腾的,也可以不使用docker,可以去原作者的github上去看看其他方式 GitHub地址使用docker拉取aliyundrive-webdav镜像docker pull messense/aliyundrive-webdav获取阿里网盘的REFRESH_TOKEN获取阿里令牌启动阿里网盘WebDAV的服务docker run -d \ --name=aliyundrive-webdav \ --restart=unless-stopped \ -p 9527:8080 \ -v /mnt/H1/aliyun-webdav/:/etc/aliyundrive-webdav/ \ -e REFRESH_TOKEN='刚刚复制的REFRESH_TOKEN' \ -e WEBDAV_AUTH_USER=daimafengzi \ -e WEBDAV_AUTH_PASSWORD=Gongxifacai168.. \ messense/aliyundrive-webdav验证是否已经正常启动在你的浏览器地址栏上,直接输入设备的ip:端口,然后输入启动时设置的账号密码,查看里面文件是否是你网盘的文件,有就说明正常启动连接到你的网盘了比如我的是192.168.31.132:9527安装davfs2,挂载webdav为本地路径安装软件apt-get install davfs2创建共享的文件夹(你想放在哪个目录下,就在哪儿创建)mkdir /aliyundrive更改文件夹的访问权限(你刚刚创建的文件夹)chmod 777 /aliyundrive将网盘挂载到系统的本地路径,执行完命令后会提示你输入账号密码,输入运行webdav时创建的账号密码即可mount -t davfs http://127.0.0.1:9527/ /aliyundrive在这个例子中,使用的是本地地址(127.0.0.1)和端口9527。你得替换成你自己的IP验证挂载是否成功执行完命令后,能看到一块你网盘大小的磁盘被挂载到你刚创建的文件夹上df -h完美安装,可以备份数据哦每天定时压缩打包日期格式的文件shell脚本mysql 怎么做定时备份 / mysql 备份 / sql文件导出
2024年07月10日
2 阅读
0 评论
0 点赞
2024-07-10
mysql 怎么做定时备份 / mysql 备份 / sql文件导出
在MySQL数据库中,你可以使用不同的方法来定时备份数据库。以下是其中的一种方法,使用Linux系统中的cron任务和mysqldump命令来创建定时备份:创建备份脚本:首先,创建一个脚本文件,比如backup_script.sh,并添加以下内容:#!/bin/bash # MySQL数据库信息 DB_USER="your_username" DB_PASSWORD="your_password" DB_NAME="your_database" # 备份目录 BACKUP_DIR="/path/to/backup/directory" # 备份文件名 DATE=$(date +"%Y%m%d%H%M%S") BACKUP_FILE="$BACKUP_DIR/backup_$DATE.sql" # 使用mysqldump命令备份数据库 mysqldump -u$DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE # 可选:压缩备份文件 # gzip $BACKUP_FILE # 删除三天前的备份文件 find $BACKUP_DIR -type f -mtime +3 -name "sql_*.zip" -exec rm {} \;替换your_username,your_password和your_database为你的MySQL用户名、密码和数据库名。确保设置了适当的权限以保护这个脚本,以防止未经授权的访问。设置脚本权限:使用以下命令设置脚本文件的执行权限:chmod +x backup_script.sh配置cron任务:使用crontab -e命令编辑cron任务表,添加以下行来定时执行备份脚本。下面的例子表示每天凌晨3点执行备份:0 3 * * * /path/to/backup_script.sh保存并退出编辑器。这个cron任务将在每天的凌晨3点执行备份脚本,创建一个以日期和时间戳命名的备份文件。你可以根据需要调整cron任务的执行时间和频率。请注意,这只是其中一种备份方法。你还可以考虑其他选项,如使用专业的备份工具、MySQL的内置工具或者存储过程等。确保备份是根据你的需求和数据库的特定要求进行的。
2024年07月10日
4 阅读
0 评论
0 点赞
2024-06-03
Linux 定时备份文件到另一台服务器
1. 需求用户要求将 Tomcat 的日志文件定时备份到另一台服务器。同事给我提供了一个写好的 java 框架,但实在不想给用户再维护另一个服务了,所以另寻他法。2. 问题使用 scp 等跨服务器传输命令时需要手动输入用户名的密码才可进行文件传输,定时任务会卡在这个节点上。3. 解决方案- 使用 crond 服务设置定时任务。 - 使用 sshpass 跳过手动输入密码过程。 - 使用 scp 命令传输文件。 3.1 crond 服务3.1.1 cron 表达式# Example of job definition: # .---------------- minute (0 - 59) # | .------------- hour (0 - 23) # | | .---------- day of month (1 - 31) # | | | .------- month (1 - 12) OR jan,feb,mar,apr ... # | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat # | | | | | # * * * * * user-name command to be executed3.1.2 crond 服务涉及命令# 编辑当前用户的cron表达式文件 crontab -e # 启动服务 /sbin/service crond start # 关闭服务 /sbin/service crond stop # 重启服务 /sbin/service crond restart # 重新载入配置 /sbin/service crond reload # 查看服务状态 service crond status3.2 sshpass + scp# 工具安装 yum install sshpass -y # 命令格式 # -p password 提供密码作为参数(安全性不明智) sshpass -p password scp -r -o StrictHostKeyChecking=no source_directory username@destination_ip:destination_directory # 示例 sshpass -p 123456 scp -r -o StrictHostKeyChecking=no /root/test.txt root@192.168.21.1:/root/其他问题你会发现执行命令之后无反应?可以添加下面代码可以添加-o StrictHostKeyChecking=no选项【表示远程连接时不提示是否输入yes/no】参考几种方法来实现scp拷贝时无需输入密码附上写的一键备份达梦数据库的脚本本地下载2024060308552755{cloud title="蓝奏网盘" type="lz" url="https://daimafengzi.lanzout.com/idnfL20q26gd" password=""/}{cloud title="天翼网盘(访问码:5qie)" type="default" url="https://cloud.189.cn/web/share?code=RjMrIjzMzMVf" password=""/}
2024年06月03日
1 阅读
0 评论
0 点赞
2024-05-06
达梦数据库的数据定时备份和恢复脚本
达梦数据库的数据定时备份和恢复脚本背景项目的国产化要求,使用达梦数据库进行存储,考虑到数据安全,所以需要进行定时的全量备份,在意外情况下,进行数据的全量恢复。注意事项该备份脚本是全量备份,建议进行定期清理,防止备份数据过多,占用磁盘存储。恢复脚本是全量恢复,但是不会覆盖已存在的数据。使用说明清理旧备份及备份脚本#!/bin/bash #1、修改备份脚本内容,指定达梦数据库的bin文件夹位置 #2、使用crontab命令创建定时任务 #3、检查备份情况 # 备份操作 # 获取当前日期作为备份目录名 DATE=$(date +%Y%m%d%H%M%S) FILENAME="data%U.dmp" LOG_NAME="data%U.log" #下面地址是:达梦安装地址 DM_HOME="/home/dmdba/dmdbms" #下面地址是:备份文件存放地址 BACKUP_HOME="/home/backup/dameng/backup" DBURL="SYSDBA/SYSDBA@127.0.0.1:5236" FILE_PATH="$BACKUP_HOME/$DATE" # 创建备份目录 mkdir -p "$FILE_PATH" cd "$DM_HOME/bin/" echo "./dexp "$DBURL" file="$FILE_PATH/$FILENAME" log="$FILE_PATH/$LOG_NAME" FULL=Y FILESIZE=10240m COMPRESS=Y PARALLEL=4 TABLE_PARALLEL=2 TABLE_POOL=3" ./dexp "$DBURL" file="$FILE_PATH/$FILENAME" log="$FILE_PATH/$LOG_NAME" FULL=Y FILESIZE=10240m COMPRESS=Y PARALLEL=4 TABLE_PARALLEL=2 TABLE_POOL=3 # 删除早期文件,防止文件占用资源 # 定义要检查的目录和最大允许的子目录数量 MAX_BACKUP_NUM=5 # 获取子目录数量,排除父目录 subdir_count=$(find "$BACKUP_HOME" -mindepth 1 -maxdepth 1 -type d | wc -l) # 如果子目录数量大于5 if [ $subdir_count -gt $MAX_BACKUP_NUM ]; then # 获取所有子目录并按创建时间排序(升序,最早的在前) sorted_dirs=$(find "$BACKUP_HOME" -mindepth 1 -maxdepth 1 -type d -exec stat -c '%w %n' {} + | sort -n) echo $sorted_dirs # 获取并删除最早的子目录 oldest_dir=$(echo "$sorted_dirs" | head -n 1 | awk '{print $2}') rm -rf "$oldest_dir" echo "删除了最旧的目录: $oldest_dir" else echo "子目录的数量小于或等于5。" fi创建定时任务crontab -e # 添加下列内容 # 添加以下行,假设每三天的凌晨1点执行备份 0 1 */3 * * /bin/bash /root/dm/backup_dm.sh恢复脚本#!/bin/bash #1.设置达梦安装目录 DM_HOME="/home/dmdba/dmdbms" #2.设置达梦备份文件目录 RECOVER_HOME="/home/backup/dameng/backup/20240506000226" #3.设置达梦连接信息 DBURL="SYSDBA/SYSDBA@127.0.0.1:5236" #4.执行备份恢复 cd "$DM_HOME/bin/" ./dimp USERID=$DBURL FILE=$RECOVER_HOME/data01.dmp LOG=db_str.log FULL=Y DIRECTORY=$RECOVER_HOME
2024年05月06日
4 阅读
0 评论
0 点赞
2022-11-24
vmocean纯ipv6的Apline系统下使用 Rclone 挂载 google drive 实现定时备份
前言通过 Apline 搭建的docker环境建站虽然没有宝塔面板方便但是对系统环境影响最小,可是备份是个问题。如果用的是大厂云服务器可以通过设置定时系统快照任务来备份,但是轻量云却不支持设置定时快照(腾讯云),宝塔面板自带很多易用的备份插件,我常用的是 OneDrive 备份,于是想到可以通过 Rclone 在服务器上挂载 google drive,然后编写一个简易备份脚本配合 Cron 任务来实现定时备份。下载安装Apline系统直接使用命令安装吧!apk add rclone初始化配置安装完成后输入:rclone config可以看到:No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q> n name> googledrive输入 n 新建一个配置,name 为你的配置名称,可以自定义,这里我输入的是 googledrive 。然后会出现挂载的服务类型,如下:Option Storage. Type of storage to configure. Choose a number from below, or type in your own value. 1 / 1Fichier \ (fichier) 2 / Akamai NetStorage \ (netstorage) 3 / Alias for an existing remote \ (alias) 4 / Amazon Drive \ (amazon cloud drive) 5 / Amazon S3 Compliant Storage Providers including AWS, Alibaba, Ceph, Digital Ocean, Dreamhost, IBM COS, Lyve Cloud, Minio, RackCorp, SeaweedFS, and Tencent COS \ (s3) 6 / Backblaze B2 \ (b2) 7 / Better checksums for other remotes \ (hasher) 8 / Box \ (box) 9 / Cache a remote \ (cache) 10 / Citrix Sharefile \ (sharefile) 11 / Compress a remote \ (compress) 12 / Dropbox \ (dropbox) 13 / Encrypt/Decrypt a remote \ (crypt) 14 / Enterprise File Fabric \ (filefabric) 15 / FTP Connection \ (ftp) 16 / Google Cloud Storage (this is not Google Drive) \ (google cloud storage) 17 / Google Drive \ (drive) 18 / Google Photos \ (google photos) 19 / Hadoop distributed file system \ (hdfs) 20 / Hubic \ (hubic) 21 / In memory object storage system. \ (memory) 22 / Jottacloud \ (jottacloud) 23 / Koofr, Digi Storage and other Koofr-compatible storage providers \ (koofr) 24 / Local Disk \ (local) 25 / Mail.ru Cloud \ (mailru) 26 / Mega \ (mega) 27 / Microsoft Azure Blob Storage \ (azureblob) 28 / Microsoft OneDrive \ (onedrive) 29 / OpenDrive \ (opendrive) 30 / OpenStack Swift (Rackspace Cloud Files, Memset Memstore, OVH) \ (swift) 31 / Pcloud \ (pcloud) 32 / Put.io \ (putio) 33 / QingCloud Object Storage \ (qingstor) 34 / SSH/SFTP Connection \ (sftp) 35 / Sia Decentralized Cloud \ (sia) 36 / Storj Decentralized Cloud Storage \ (storj) 37 / Sugarsync \ (sugarsync) 38 / Transparently chunk/split large files \ (chunker) 39 / Union merges the contents of several upstream fs \ (union) 40 / Uptobox \ (uptobox) 41 / Webdav \ (webdav) 42 / Yandex Disk \ (yandex) 43 / Zoho \ (zoho) 44 / http Connection \ (http) 45 / premiumize.me \ (premiumizeme) 46 / seafile \ (seafile) Storage> 17输入你要挂载的网盘序号,我要挂载的 googledrive 是 17,⚠️注意:序号不固定,请自行确认client_id 和 client_secret直接回车默认即可,(也可以自行创建,怎么创建我就不说了,有点麻烦。可以看官方文章:https://rclone.org/drive/ )然后会出现 权限 选择,如下:Option scope. Scope that rclone should use when requesting access from drive. Choose a number from below, or type in your own value. Press Enter to leave empty. 1 / Full access all files, excluding Application Data Folder. \ (drive) 2 / Read-only access to file metadata and file contents. \ (drive.readonly) / Access to files created by rclone only. 3 | These are visible in the drive website. | File authorization is revoked when the user deauthorizes the app. \ (drive.file) / Allows read and write access to the Application Data folder. 4 | This is not visible in the drive website. \ (drive.appfolder) / Allows read-only access to file metadata but 5 | does not allow any access to read or download file content. \ (drive.metadata.readonly) scope> 1 然后是选择是否进行高级配置,保持默认回车即可:Edit advanced config? y) Yes n) No (default)接着是自动配置选择,如下:Use auto config? * Say Y if not sure * Say N if you are working on a remote or headless machine y) Yes (default) n) No[blockquote2 name='洛维花']因为你的服务器并没有图形化界面无法使用浏览器打开网页,这里需要选择 n,[/tip]这里需要获取授权码并输入:Option config_token. For this to work, you will need rclone available on a machine that has a web browser available. For more help and alternate methods see: https://rclone.org/remote_setup/ Execute the following on the machine with the web browser (same rclone version recommended): rclone authorize "drive" "eyJjbGllbnRfaWQ1iOiIyOTE1ODgwMjc5MzctdWUzbm52b2tmdnYzcHBqYjVpcjZhdmdibGlzMWEyZ3EuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJjbGllbnRfc2VjcmV0IjoiR09DU1BYLUtYUnRmLXpxOXNtX2FObEQ2sbjJDaHg2ZzZKR1oiLCJzY29wZSI6ImRyaXZlIn0" Then paste the result. Enter a value. config_token> 授权码需要在本地电脑上获取,访问 https://rclone.org/downloads/ 根据你的电脑系统版本下载对应的 Rclone,下载完成后解压,这边用的是mac系统,所以需要下载的是mac版本。打开终端进入到下载的rclone目录。cd downloads cd rclone-v1.60.1-osx-amd64 ./rclone authorize "drive" "eyJjbGllbnRfaWQ1iOiIyOTE1ODgwMjc5MzctdWUzbm52b2tmdnYzcHBqYjVpcjZhdmdibGlzMWEyZ3EuYXBwcy5nb29nbGV1c2VyY29udGVudC5jb20iLCJjbGllbnRfc2VjcmV0IjoiR09DU1BYLUtYUnRmLXpxOXNtX2FObEQ2sbjJDaHg2ZzZKR1oiLCJzY29wZSI6ImRyaXZlIn0"浏览器应该会自动打开,如果浏览器没有打开可以根据提示复制地址访问。如果浏览器登录了 googledrive 的话会直接显示授权确认信息,如果没有登录的话会弹出登录页面,登录 googledrive 后也会显示授权确认信息。选择 接受 后在本地命令行会显示一串 JSON 格式的授权信息,复制授权信息包括首尾的 {},到 Linux 终端粘贴。然后,直接回车默认Configure this as a Shared Drive (Team Drive)? y) Yes n) No (default) y/n> 确认无误后输入 y 或者直接回车,接着会显示你选择的配置信息,确认无误后输入 y 保存配置。备份脚本备份脚本摘抄自,秋水逸冰 博客。原文链接:https://teddysun.com/469.html下载该脚本并赋予执行权限wget --no-check-certificate https://github.com/teddysun/across/raw/master/backup.sh chmod +x backup.sh修改并配置脚本请使用 vim 或 nano 等工具来修改。ENCRYPTFLG (加密FLG,true 为加密,false 为不加密,默认是加密)BACKUPPASS (加密密码,重要,务必要修改)LOCALDIR (备份目录,可自己指定)TEMPDIR (备份目录的临时目录,可自己指定)LOGFILE (脚本运行产生的日志文件路径)MYSQL_ROOT_PASSWORD (MySQL/MariaDB/Percona 的 root 用户密码)MYSQL_DATABASE_NAME (指定 MySQL/MariaDB/Percona 的数据库名,留空则是备份所有数据库)[blockquote2 name='洛维花'] ※ MYSQL_DATABASE_NAME 是一个数组变量,可以指定多个。举例如下:[/tip]MYSQL_DATABASE_NAME[0]="phpmyadmin" MYSQL_DATABASE_NAME[1]="test"BACKUP (需要备份的指定目录或文件列表,留空就是不备份目录或文件)[blockquote2 name='洛维花'] ※ BACKUP 是一个数组变量,可以指定多个。举例如下:[/tip]BACKUP[0]="/data/www/default/test.tgz" BACKUP[1]="/data/www/default/test/" BACKUP[2]="/data/www/default/test2/"LOCALAGEDAILIES (指定多少天之后删除本地旧的备份文件,默认为 7 天)DELETE_REMOTE_FILE_FLG (删除 Google Drive 或 FTP 上备份文件的 FLG,true 为删除,false 为不删除)RCLONE_NAME (设置 rclone config 时设定的 remote 名称,务必要指定)RCLONE_FOLDER (指定备份时设定的 remote 的目录名称,该目录名在 Google Drive 不存在时则会自行创建。默认为空,也就是根目录)RCLONE_FLG (上传本地备份文件至 Google Drive 的 FLG,true 为上传,false 为不上传)FTP_FLG (上传文件至 FTP 服务器的 FLG,true 为上传,false 为不上传)FTP_HOST (连接的 FTP 域名或 IP 地址)FTP_USER (连接的 FTP 的用户名)FTP_PASS (连接的 FTP 的用户的密码)FTP_DIR (连接的 FTP 的远程目录,比如: public_html)一些注意事项的说明:1)脚本需要用 root 用户来执行;2)脚本需要用到 openssl 来加密,请事先安装好;3)脚本默认备份所有的数据库(全量备份);4)备份文件的解密命令如下:openssl enc -aes256 -in [ENCRYPTED BACKUP] -out decrypted_backup.tgz -pass pass:[BACKUPPASS] -d -md sha15)备份文件解密后,解压命令如下:tar -zxPf [DECRYPTION BACKUP FILE]解释一下参数 -P:tar 压缩文件默认都是相对路径的。加个 -P 是为了 tar 能以绝对路径压缩文件。因此,解压的时候也要带个 -P 参数。[blockquote2 name='洛维花']因为疯子使用的系统是:Apline系统,所以需要安装:bash,tar,openssl,安装命令如下:[/tip]apk add bash apk add tar apk add openssl运行脚本开始备份./backup.sh脚本默认会显示备份进度,并在最后统计出所需时间。如果你想将脚本加入到 cron 自动运行的话,就不需要前台显示备份进度,只写日志就可以了。这个时候你需要稍微改一下脚本中的 log 函数。log() { echo "$(date "+%Y-%m-%d %H:%M:%S")" "$1" echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE} }改为:log() { echo -e "$(date "+%Y-%m-%d %H:%M:%S")" "$1" >> ${LOGFILE} }Apline定时备份关于如何使用 cron 自动备份,网上有一堆教程,这里以Apline 来举例说明。首先alpine内嵌的是BusyBox,使用alpine的crontab实际就是使用BusyBox的crond服务,那么下来就简单介绍下如何使用吧,网上教程还是比较多的:配置文件存放位置:配置文件是在如下目录中的/var/spool/cron/crontabs/使用方式向crontab的配置文件中添加配置vi /var/spool/cron/crontabs/root # 或者 crontab -e # 填入如下内容,最后一行为我添加的任务 # do daily/weekly/monthly maintenance # min hour day month weekday command */15 * * * * run-parts /etc/periodic/15min 0 * * * * run-parts /etc/periodic/hourly 0 2 * * * run-parts /etc/periodic/daily 0 3 * * 6 run-parts /etc/periodic/weekly 0 5 1 * * run-parts /etc/periodic/monthly 30 1 * * * cd /root/ && ./backup.sh 以上表示,每天凌晨 1 点 30 分,进入root目录执行一次 backup.sh 脚本。注意:一定要修改其中的 PATH 和 HOME 变量的值。尤其是 HOME 变量,rclone 命令能否正确执行,是要依赖于其配置文件的。用 root 用户配置的话,其配置文件夹应该是 /root/.config/rclone ,所以要更改 HOME 的值。最后,欢迎交流和提出意见。如果是系统,那么会报错。报错:sh: 0: unknown operand backup.sh: line 53: MYSQL_DATABASE_NAME[0]=: not found backup.sh: line 59: BACKUP[0]=/qinglong: not found backup.sh: line 120: syntax error: unexpected "(" (expecting "fi")先查看一下:首先登录到容器内,查看sh的版本,(通常有ash、bash、sh等),bash-4.3# ls -l /bin/*sh lrwxrwxrwx 1 root root 12 Jun 17 2017 /bin/ash ->/bin/busybox -rwxr-xr-x 1 root root 682128 Apr 20 2017 /bin/bash lrwxrwxrwx 1 root root 12 Jun 17 2017 /bin/fdflush->/bin/busybox lrwxrwxrwx 1 root root 12 Jun 17 2017 /bin/sh ->/bin/busybox发现alpine中的sh使用的是bin/busybox(命令展示结果最后一行),因此需要将sh切换到/bin/bash下下面给出解决思路:删除原有链接;新建一个软链接指向/bin/bash,脚本实现如下:cd /bin && rm -f sh && ln -s /bin/bash sh最后再执行脚本,能正常运行,问题解决,当然可以将其写入到容器构建中,做成新的镜像,以后使用该镜像创建出来的容器都不会再出现这类问题了。
2022年11月24日
0 阅读
0 评论
0 点赞