How to create and export scheduled reports in SynetoOS 4

Written By Christian Castagna (Administrator)

Updated at August 8th, 2025

→ Applies to: SynetoOS 4.x

 

Step 1. Connect to SynetoOS appliance via SSH as admin

ssh admin@<your_ip_address_or_hostname>

 

Step 2. Remove User Shell

rm /var/storage/admin/.bash_profile

 

Step 3. Install the tool

curl -v https://storage.googleapis.com/syneto_public_files/downloads/Various/list-protections.sh -o /tmp/list-protections.sh

EXAMPLE OUTPUT

root@syneto-os4:/# curl -v https://storage.googleapis.com/syneto_public_files/downloads/Various/list-protections.sh -o /tmp/list-protections.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 216.58.205.59:443...
* Failed to set TCP_KEEPALIVE on fd 6
* Connected to storage.googleapis.com (216.58.205.59) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*  CAfile: /etc/ssl/cacert.pem
*  CApath: /etc/ssl/certs
} [5 bytes data]
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
} [512 bytes data]
* TLSv1.3 (IN), TLS handshake, Server hello (2):
{ [122 bytes data]
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
{ [15 bytes data]
* TLSv1.3 (IN), TLS handshake, Certificate (11):
{ [3831 bytes data]
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
{ [79 bytes data]
* TLSv1.3 (IN), TLS handshake, Finished (20):
{ [52 bytes data]
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
} [1 bytes data]
* TLSv1.3 (OUT), TLS handshake, Finished (20):
} [52 bytes data]
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=storage.googleapis.com
*  start date: Jul  7 08:37:59 2025 GMT
*  expire date: Sep 29 08:37:58 2025 GMT
*  subjectAltName: host "storage.googleapis.com" matched cert's "storage.googleapis.com"
*  issuer: C=US; O=Google Trust Services; CN=WR2
*  SSL certificate verify ok.
* Using HTTP2, server supports multiplexing
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x12d6090)
} [5 bytes data]
> GET /syneto_public_files/downloads/Various/list-protections.sh HTTP/2
> Host: storage.googleapis.com
> user-agent: curl/7.78.0
> accept: */*
> 
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [282 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [282 bytes data]
* old SSL session ID is stale, removing
{ [5 bytes data]
< HTTP/2 200 
< x-guploader-uploadid: ABgVH89JUtP0D67_RV2pjfbIxdMM9f0vBZDt-CuHOEQWBxu0Ml8vyMTvSm35sH_ptM828bTBUfX_j5A
< x-goog-generation: 1717502836034389
< x-goog-metageneration: 1
< x-goog-stored-content-encoding: identity
< x-goog-stored-content-length: 8569
< x-goog-hash: crc32c=MUE80A==
< x-goog-hash: md5=xxaRen0eYyyILMCb57OFYw==
< x-goog-storage-class: STANDARD
< accept-ranges: bytes
< content-length: 8569
< server: UploadServer
< date: Fri, 08 Aug 2025 10:14:37 GMT
< expires: Fri, 08 Aug 2025 11:14:37 GMT
< cache-control: public, max-age=3600
< age: 602
< last-modified: Tue, 04 Jun 2024 12:07:16 GMT
< etag: "c716917a7d1e632c882cc09be7b38563"
< content-type: text/x-sh
< alt-svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
< 
{ [5 bytes data]
100  8569  100  8569    0     0   196k      0 --:--:-- --:--:-- --:--:--  199k
* Connection #0 to host storage.googleapis.com left intact

 

Step 4. Run the script

sh /tmp/list-protections.sh

The script creates an exportable .zip file as output.