Linux
linux下的yum命令报错
【实用】精简Commands(更新)
生信软件安装前配置
NewMechine-Linux
捡了一台垃圾-蜗牛星际单网口
群晖系统升级攻略
群晖的一些工具
群晖中玩脚本【实践可行才记录】
群晖套件迁移(从存储2到存储4)
移动吉比特光猫 SK-D746 获取动态超级管理员帐号与密码
移动光猫SG338Z
linux使用crontab命令指定时间段内随机执行任务
【实用】局域网数据共享之王-gohttpserver
飞牛NAS
飞牛NAS读取群晖的硬盘
Navidrome+MusicTagWeb+音流
飞牛备份及同步
硬盘故障问题
飞牛NAS搭建私人图书馆,实现网页、手机看电子书
docker学习
SSH密钥免密登录详细教程
SSH登录Linux系统提示信息"There were xxxx failed login attempts since the last successful login."
本文档使用 MrDoc 发布
-
+
up
down
首页
群晖中玩脚本【实践可行才记录】
积累一些群晖中使用脚本的方法,处理一些事务。 ## Linux的命令不存在? ### 安装 ``` # 获取权限 sudo -i # 下载bootstrap并安装: wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh chmod +x syno-i686-bootstrap_1.2-7_i686.xsh sh syno-i686-bootstrap_1.2-7_i686.xsh ``` ### 如果报错: ``` Optware Bootstrap for syno-i686. Extracting archive... please wait bootstrap/ bootstrap/bootstrap.sh bootstrap/ipkg-opt.ipk 1216+1 records in 1216+1 records out 249302 bytes (249 kB) copied, 0.118297 s, 2.1 MB/s bootstrap/ipkg.sh bootstrap/optware-bootstrap.ipk bootstrap/wget.ipk Backup your configuration settings, then type: rm -rf /volume1/@optware rm -rf /usr/lib/ipkg This will remove all existing optware packages. ``` 则执行: ``` rm -rf /volume1/@optware rm -rf /usr/lib/ipkg ``` 安装后,建议重启,不过我没重启可以直接使用: ``` # 执行更新 ipkg update # 安装想装的包 ipkg install bc ``` ## 媒体文件批量修改日期 ### 原因 上传了一些好几年前金立手机拍摄的视频照片,结果所有的视频(都是3gp格式)都提示拍摄日期(都是17、18年的)为上传日期了(6月3号):  点开每一个,其文件名称中是具有时间的,如下图,显示日期为2024-06-03,是上传日期,是不对的,点击其右边的编辑可以修改日期。 真实日期在文件名中有记录,如2016年10月20日21点01分42秒。  ### 安装脚本 使用[`exiftool`](https://exiftool.org)工具(比exiv2更好,可以支持heic图片和视频),该工具是Perl的一个开源工具,需要安装perl环境。 1、安装perl套件  2、安装exiftool ``` # 先安装 Perl 套件,然后开启 ssh-server wget -o /var/services/homes/laihui126/softs/Image-ExifTool-12.85.tar.gz https://exiftool.org/Image-ExifTool-12.85.tar.gz tar -zxvf /var/services/homes/laihui126/softs/Image-ExifTool-12.85.tar.gz ln -s /var/services/homes/laihui126/softs/Image-ExifTool-12.85/exiftool /usr/local/bin/exiftool ``` 如果上面wget下载很慢,可以本地下载后,通过fileStation上传到指定目录即可。 安装成功:  ### 使用 以下未测试: ``` # 按照片拍摄年份,存入指定目录 exiftool '-Directory<CreateDate' -d "~/photo/%Y" ./*.{jpg,cr2,heic} # 文件按格式改名 exiftool '-filename<CreateDate' -d "%Y/%Y%m%d-%H%M%S.%%le" ./*.{jpg,heic,cr2} # 自带调试(只读打印) exiftool '-testname<CreateDate' -d "%Y/%Y%m%d-%H%M%S.%%le" -r ~/photo ``` 【批量修改文件创建时间,好用】,一键修复: ``` # 解决历史图片创建时间错误(批量修改文件创建时间) cd /volume1/photo/Drames/20160824-201801-金立备份 exiftool '-FileModifyDate<filename' *.3gp # 批量把文件名中的时间设置为文件修改时间 ```   ``` exiftool '-FileCreateDate<filename' *.jpg # 批量把文件名中的时间设置为文件创建时间 ``` 【下载后文件时间不对?批量修改文件时间】,一键修复: 一条命令直接把照片的元数据里 Modify Date(即 DateTimeOriginal ,或 CreateDate 、 ModifyDate 等)同步为 文件系统修改时间 ``` exiftool "-FileModifyDate<DateTimeOriginal" DSC_0221.JPG exiftool "-FileModifyDate<ModifyDate" DSC_0221.JPG # 指定输入的时间: exiftool "-FileModifyDate=2013:05:18 18:30:00" *.jpg ``` 【给照片添加地理位置信息,基于已有信息的照片】: ``` # IMG_2948.HEIC 是手机拍的,具有地理位置信息 # DSCF3897.JPG 是相机拍的,没有地理位置信息,待添加 exiftool -tagsfromfile IMG_2948.HEIC -gps:all DSCF3897.JPG ```  添加前:  添加后:  ``` # 批量添加 for i in $(seq 3897 3910);do exiftool -tagsfromfile IMG_2948.HEIC -gps:all DSCF${i}.JPG;done for i in `ls DSCF*`;do exiftool -tagsfromfile IMG_2948.HEIC -gps:all ${i}; echo $i; done ``` 获取地理坐标 百度:https://api.map.baidu.com/lbsapi/getpoint/index.html 高德:https://lbs.amap.com/tools/picker ``` # 具体地理位置坐标设置: exiftool -GPSLatitude="39.908692" -GPSLongitude="116.397479" photo.jpg # 批量添加 for i in $(seq 3911 3917);do exiftool -GPSLatitude="113.587219" -GPSLongitude="22.293025" DSCF${i}.JPG;done ``` ## rsync同步使用 ### 从阿里云服务器同步mrdocWB和AI20网站数据 阿里云服务器也加入了zerotier,但是好似不用,它本身就具备公网ip。 #### 配置远程服务器(阿里云服务器) (1)配置文件,`vim /etc/rsyncd.conf`,内容如下: ``` #以下是全局配置 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/lock/rsyncd [backup] #模块名,在源服务器指定这个名字 comment = sync rsync/home #描述信息 path = /backup [mrdoc] comment = sync mrdocWB path = /www/wwwroot/mrdocWB [ai20] comment = sync ai20 path = /www/wwwroot/ai20 use chroot=yes read only = no uid=root gid=root max connections=10 #客户端最大连接数 auth users = root #指定数据同步用户 secrets file = /etc/rsync.password hosts allow=120.231.113.242 #允许连接的客户端 ignore errors = yes timeout = 600 ``` 由于部分参数不能带注释,下面做了一些注释解析! ``` #以下是全局配置 log file = /var/log/rsyncd.log pid file = /var/run/rsyncd.pid lock file = /var/lock/rsyncd [backup] #模块名,在源服务器指定这个名字 comment = sync rsync/home #描述信息 path = /backup #备份目录 use chroot=yes #使用chroot,用root权限 read only = no #设置本地备份目录为读写权限 uid=root #rsync 进程运行时的用户 ID,而 gid 表示 rsync 进程运行时的组 ID gid=root max connections=10 #客户端最大连接数 auth users = root #指定数据同步用户 secrets file = /etc/rsync.password #指定数据同步用户信息文件,里面是用户名和密码 hosts allow=120.231.113.242 #允许连接的客户端 ignore errors = yes #忽略出现I/O错误 timeout = 600 ``` (2)修改其中备份目录的权限:`chown -R root.root /backup/` (3)模块名称为backup (4)配置文件`vim /etc/rsync.password`,内容为: `root:尼@Ai20` (5)修改权限:`chmod 600 /etc/rsync.password` #### 开放服务器873端口 宝塔面板、阿里云安全策略组中,释放873端口。 #### 启动服务 ``` rm /var/run/rsyncd.pid ps -ef|grep rsync # 删除rsync --daemon的程序 rsync --daemon --config=/etc/rsyncd.conf ``` #### 客户端填写 (1)配置密码文件`vim /etc/rsync.password`,内容为服务端的密码: `尼@Ai20` (2)修改权限,`chmod 600 /etc/rsync.password` #### 使用 ``` # 上传文件LANG.txt到服务器,成功! rsync -auvrtzopgP --progress --password-file=/etc/rsync.password LANG.txt root@8.134.222.161::backup # 下载文件LANG.txt到客户端,成功! rsync -auvrtzopgP --progress --password-file=/etc/rsync.password root@8.134.222.161::backup /volume4/www/ ``` > d注意:这个只能针对模块,所以是backup那个模块,目前共设置模块:mrdoc和ai20 ``` # 同步服务器网站mrdoc到本地 rsync -avzP --password-file=/etc/rsync.password root@8.134.222.161::mrdoc /volume4/www/mrdocWB # 同步服务器网站ai20到本地 rsync -avzP --password-file=/etc/rsync.password root@8.134.222.161::ai20 /volume4/www/ai20 ``` #### 群晖中使用计划任务 (1)设置文件:BackupFromAI20.sh ``` #!/bin/bash DATE=$(date +%Y-%m-%d\ %H:%M:%S) # AI20 源文件夹路径 SOURCE_PATH1="root@8.134.222.161::mrdoc" SOURCE_PATH2="root@8.134.222.161::ai20" # 目标文件夹路径 TARGET_PATH1="/volume4/www/mrdocWB" TARGET_PATH2="/volume4/www/ai20" # 运行rsync备份, 保存备份日志 rsync -avzP --password-file=/etc/rsync.password "$SOURCE_PATH1" "$TARGET_PATH1" echo "[INFO] mrdocWB backup completed at $DATE." >> /volume4/www/backup.log rsync -avzP --password-file=/etc/rsync.password "$SOURCE_PATH2" "$TARGET_PATH2" echo "[INFO] ai20 backup completed at $DATE." >> /volume4/www/backup.log ``` (2)新增计划任务    (3)log文件位置:`/volume4/www/backup.log`
laihui126
2025年8月25日 14:29
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
关于 MrDoc
觅道文档MrDoc
是
州的先生
开发并开源的在线文档系统,其适合作为个人和小型团队的云笔记、文档和知识库管理工具。
如果觅道文档给你或你的团队带来了帮助,欢迎对作者进行一些打赏捐助,这将有力支持作者持续投入精力更新和维护觅道文档,感谢你的捐助!
>>>捐助鸣谢列表
微信
支付宝
QQ
PayPal
下载Markdown文件
分享
链接
类型
密码
更新密码