玩玩群辉NAS-常用命令行
玩玩群辉NAS-常用命令行
群辉中的系统命令或者套间命令大部分都是以syno开头的。
Syno
简单的 Node.js
包装器(包括浏览器)和用于 Synology DSM REST API 5.x 和 6.x 的 CLI(命令行界面)。阿
英文版:Synology Development Tool.
中文版:开发者工具
安装
只要安装模块
$ npm install syno
如果要将其另存为依赖项,只需添加该--save
选项即可。
$ npm install syno --save
如果要使用CLI可执行文件进行安装,只需添加该--global
选项。
$ npm install syno --global
配置
环境变量
在使用Syno前需要配置一些参数
$ export SYNO_ACCOUNT=user
$ export SYNO_PASSWORD=password
$ export SYNO_PROTOCOL=https # 笔者这边为http,如果设置为https会报ssl错误
$ export SYNO_HOST=localhost
$ export SYNO_PORT=5001
配置文件
# Example config file, by default it should be located at:
# ~/.syno/config.yaml
url:
protocol: https
host: localhost
port: 5001
account: admin
passwd: password
配置完成后就能正常使用命令行API了。
Syno API
这是对 Syno API 及其方法的简单介绍。要获取更多信息(参数、响应数据等),请参阅 Synology 开发者工具。
- DSM API
- File Station API
- Download Station API
- Audio Station API
- Video Station API
- Video Station DTV API
- Surveillance Station API
CLI
Commande selector
$ syno --help
Usage: syno [options]
Synology Rest API Command Line
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Commands:
filestation|fs [options] <method> DSM File Station API
downloadstation|dl [options] <method> DSM Download Station API
audiostation|as [options] <method> DSM Audio Station API
Examples:
$ syno filestation|fs getFileStationInfo
$ syno downloadstation|dl getDownloadStationInfo
$ syno audiostation|as getAudioStationInfo
DSM command
$ syno fs --help
Usage: diskstationmanager|dsm [options] <method>
DSM API
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Examples:
$ syno diskstationmanager|dsm startFindme
$ syno diskstationmanager|dsm getInfo --pretty'
$ syno diskstationmanagercore|dsm listUsers
$ syno diskstationmanagercore|dsm listPackages
File Station command
$ syno fs --help
Usage: filestation|fs [options] <method>
DSM File Station API
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Examples:
$ syno filestation|fs listSharings
$ syno filestation|fs list --pretty --payload '{"folder_path":"/path/to/folder"}'
Download Station command
$ syno dl --help
Usage: downloadstation|dl [options] <method>
DSM Download Station API
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Examples:
$ syno downloadstation|dl createTask --payload '{"uri":"magnet|ed2k|ftp(s)|http(s)://link"}'
$ syno downloadstation|dl listTasks
$ syno downloadstation|dl listTasks --payload '{"limit":1}'
$ syno downloadstation|dl getInfoTask --pretty --payload '{"id":"task_id"}'
Audio Station command
$ syno as --help
Usage: audiostation|as [options] <method>
DSM Audio Station API
Options:
-h, --help output usage information
-c, --config <path> DSM configuration file. Default to ~/.syno/config.yaml
-u, --url <url> DSM URL. Default to https://admin:password@localhost:5001
-p, --payload <payload> JSON Payload
-P, --pretty Prettyprint JSON Output
-d, --debug Enabling Debugging Output
-a, --api <version> DSM API Version. Default to 6.0
-i, --ignore-certificate-errors Ignore certificate errors
Examples:
$ syno audiostation|as listSongs --payload '{"limit":1}'
$ syno audiostation|as listAlbums
$ syno audiostation|as searchSong --payload '{"title":"victoria"}'
Examples
没有配置文件
$ syno fs getInfo --url https://admin:synology@demo.synology.com:5001 --pretty
带有配置文件
# Example config file, by default it should be located at:
# ~/.syno/config.yaml
url:
protocol: https
host: localhost
port: 5001
account: admin
passwd: password
$ syno fs geInfo --pretty
其他命令
备忘单
NAS 打印工作组:
$ synowin -getWorkgroup
加入一个新的 NAS 工作组:
$ synowin -joinWorkgroup <group>
打印一般信息:
$ synoservice --status
通过 cli 设置邮件:
$ synosyslogmail
检查升级:
$ synoupgrade --check 3
转储有关您的 nas 的数据:
$ syno_system_dump
打印网络信息,包括 当前双工:
$ synonet --show
打印当前主机名:
$ synonet --get_hostname
设置一个新的主机名:
$ synonet --set_hostname
设置新网关:
$ synonet --set_gateway gateway
WOL 唤醒:
$ synonet --wake xx:xx:xx:xx:xx:xx <interface>
打印分区布局表。
$ synopartition --list
分享
打印共享信息:
$ synoshare --get <sharefolder>
挂载一个共享的加密文件夹:
$ synoshare --enc_mount <sharefolder> <password>
卸载加密文件夹:
$ synoshare --enc_unmount <sharefolder>
允许删除:
$ synoshare --del {TRUE|FALSE} sharename1 sharename2 ...
设置共享文件夹的描述(在文件浏览器的评论中查看)
$ synoshare --setdesc sharename desc
允许浏览共享文件夹
$ synoshare --setbrowse sharename browse_flag{0|1}
重命名共享文件夹:
$ synoshare --rename old_sharename new_sharename
设置允许浏览共享文件夹的用户:
$ synoshare --setuser sharename user_auth{NA|RO|RW} operator{+|-|=} user_name_list_with_comma
用户
打印有关用户的主要数据
sh-4.3# synouser --get wuseman
User Name : [wuseman]
User Type : [AUTH_LOCAL]
User uid : [1026]
Primary gid : [100]
Fullname : []
User Dir : [/var/services/homes/wuseman]
User Shell : [/bin/sh]
Expired : [false]
User Mail : []
Alloc Size : [82]
Member Of : [2]
(100) users
(101) administrators
设置新密码/更改密码:
$ synouser --setpw oldpassword newpassword
重命名用户:
$ synouser --rename old_username new_username
添加包含完整信息的用户名:
$ synouser --add [username pwd "full name" expired{0|1} mail privilege]
通知:
发送关于存储的电子邮件:
$ synostorage --mail
锁管理
$ synostorage --lock
调音功能:
获取当前的调优配置文件:
$ synotune --get
Outut: Current Profile: performance_throughput
设置新功能,选项:
$ synotune --set performance_throughput OR performance_latency
转储有关 Synology nas 的信息:
$ syno_system_dump
升级
将您的 nas 设置为自动处理升级:
$ synoupgrade --auto
检查您当前的升级设置:
$ synoupgrade --check
如果有新升级,请下载最新升级:
$ synoupgrade --download
开始升级:
$ synoupgrade --start
检查分区布局表:
$ synopartition --check /dev/sd<X>
查看 Synology NFS 监视器:
$ synonfstop
重置 Synology NAS(仅限设置)
$ /usr/syno/sbin/./synodsdefault --reset
将 Synology Nas 重置为出厂默认设置(OBS OBS OBS 所有数据都将被擦除)
$ /usr/syno/sbin/./synodsdefault --factory-default
重新安装 Synology Nas Station,所有数据都将保留:
$ /usr/syno/sbin/./synodsdefault --reinstall; reboot
通过 cli 重新启动 NAS 的 SSHD 的正确方法:
$ synoservicectl --restart sshd
列出、卸载或安装 .spk 包文件(本地可用)
$ synopkg
安装一组网络和 ELF 二进制调试工具(并进入根会话)
$ synogear
写入和读取带有 key=value 对的 .ini 样式文件
$ synosetkeyvalue
$ synogetkeyvalue
关闭并关闭 NAS 电源(很像 shutdown -h now)
$ synopoweroff
显示已安装的包
$ synopkg list | sed 's/: .*$//'
卸载一个包
$ sudo synopkg uninstall
Synology 关机和关机
$ syno_poweroff_task
为本地用户设置/建立密码
$ synoauth local_username password
管理 IP 自动阻止功能
$ synoautoblock OPTIONS
管理博客功能
$ synoblog_backup [-r|-b] p [-u username] [-o]
Synology 磁盘控制设备:类似于 /dev/hda 或 /dev/sda
$ syno_disk_ctl OPTIONS DEVICE
Synology clear .tbd-文件工具
$ SYNOClearTdb FILE
打印有关 NAS 的各种信息的不同方式
more /etc.defaults/VERSION
cat /etc/synoinfo.conf
cat /proc/cmdline
synoshare --enum ALL
synonet --show
synodisk --enum
synospace --enum -a
重启索引
$ synoservicectl --restart synoindexd
检查升级
$ sudo synoupgrade --check
重启网络服务器
$ /usr/syno/sbin/synoservicecfg --restart httpd-user
/usr/syno/sbin/synoservicectl --restart pkgctl-WebStation
为您可以控制的内容生成列表
$ /usr/syno/sbin/synoservice --list
DSM API - 提供 DSM 信息
$ syno dsm getInfo --pretty
File Station API - 提供 File Station 信息
$ syno fs getInfo --pretty
File Station API - 枚举给定文件夹中的文件
$ syno fs listFiles --payload '{"folder_path":"/path/to/folder"}' --pretty
Download Station API - 列出下载任务
$ syno dl listFiles --payload '{"limit":5, "offset":10}' --pretty
Download Station API - 创建下载任务
$ syno dl createTask --payload '{"uri":"https://link"}'
Audio Station API - 搜索歌曲
$ syno as searchSong --payload '{"title":"my_title_song"}' --pretty
Video Station API - 列出电影
$ syno vs listMovies --payload '{"limit":5}' --pretty
Video Station DTV API - 列出频道
$ syno dtv listChannels --payload '{"limit":1}' --pretty
Surveillance Station API - 获取摄像机信息
$ syno ss getInfoCamera --payload '{"cameraIds":8}' --pretty
重启、启用、停止 samba
$ /usr/syno/etc/rc.sysv/S80samba.sh --help
获取 Synology 日期
$ synodate --getSysDate
打印机的东西
$ synoprint
更新索引较旧
$ indexfolder --type={SHARE_CREATE|SHARE_REMOVE} --share=<SHARED_FOLDER> --share_path=<SHARED_FOLDER>
启动媒体服务器
$ /usr/syno/bin/mediaserver.sh start
小心,杀死 NAS
$ servicetool --get-service-volume download
如果丢失,获取 2FA 密钥
$ ssh root@nas cat /usr/syno/etc/preference/wuseman/google_authenticator
以一种非常奇特的方式列出磁盘信息
$ dhm_tool -s
群晖自动封锁
将 IP 添加到自动阻止数据库:
$ synoautoblock --deny <ip-address>
重置错误添加的IP:
$ synoautoblock --reset <ip-address>
将任意 IP 添加到白名单:
$ synoautoblock --in-white-list <ip-address>
调试和系统健康:
调试粉丝并通过电子邮件发送结果(如果已设置电子邮件)
$ syno_fan_debug
运行系统运行状况检查并在完成后通过电子邮件发送结果:
$ syno_disk_health_record
检查~剩余寿命:
$ syno_disk_remain_life_check
运行 smartmontools 并在完成后发送电子邮件:
$ syno_disk_smart_mail_send
调试休眠:
$ syno_hibernation_debug
LED(获取最小值和最大值:/usr/syno/etc.defaults/led_brightness.xml)
获取当前设置:
$ syno_led_brightness --get (Default on DS416: 1985157252)
设置新设置:
$ syno_led_brightness --set <brightness>
带宽
打印用户带宽使用情况:
$ synobandwidth --status [<list=user|group|all(default)> <transfer=upload|download|all(default)>] <merge=0|1(default)>]
为用户设置新的带宽限制:
$ synobandwidth --set-global-conf <state=enabled|disabled> [<protocol=filestation|webdav|ftp|rsync|all(default)>
按用户打印所有服务的状态:
$ sh-4.3# synobandwidth --preview wuseman
Protocol Upload Download
filestation 0.00 0.00
webdav 0.00 0.00
ftp 0.00 0.00
rsync 0.00 0.00
ISCI
Synology iSCSI 性能分析器
$ synoiscsitop40
扇子
设置风扇配置(最响的听起来像飞机)
$ synofanconfig -parseXML 1000000
Reference
https://github.com/kwent/syno
https://www.imnks.com/2052.html