Skip to content

Instantly share code, notes, and snippets.

View joeperpetua's full-sized avatar
🐨

Joel Perpetua joeperpetua

🐨
View GitHub Profile
@joeperpetua
joeperpetua / drive_rotation_set.sh
Created January 15, 2024 14:34
Change version number in all enabled Synology Drive Team Folders
synowebapi --exec api=SYNO.SynologyDrive.Share method=list version=1 action=list sort_direction=ASC sor_by=share_name | jq '.data.items[] | "\(.share_name) \(.share_enable)"' | grep true | sed 's/ true//g' > /tmp/enabled_shares; cat /tmp/enabled_shares | while read share; do synowebapi --exec api=SYNO.SynologyDrive.Share method=set version=1 share="[{\"share_name\": `echo $share`, \"rotate_cnt\": 5}]" ; done
#!/bin/bash
####
# Usage
# ./increment_subdir_mtime.sh "path/to/parent/folder" increment_in_seconds:INT
# eg:
# ./increment_subdir_mtime.sh "/volume1/DATA/" 5
####
TARGET_PATH=$(realpath "$1")
@joeperpetua
joeperpetua / ABM_export_logs.sh
Created December 13, 2023 10:14
Export Active Backup for Microsoft 365 restore and export logs.
VOLUME='volume1';
SHARED_FOLDER='Data'; # can also specify the subfolder
synowebapi --exec api=SYNO.ActiveBackupOffice365.Portal.Restore.AllLog method=list sort_by=start_time sort_direction=DESC offset=0 version=1 | jq .data > /$VOLUME/$SHARED_FOLDER/ABM_restore_logs.json
synowebapi --exec api=SYNO.ActiveBackupOffice365.Portal.Export.AllLog method=list sort_by=start_time sort_direction=DESC offset=0 version=1 | jq .data > /$VOLUME/$SHARED_FOLDER/ABM_export_logs.json
const sleep = async (time) => {
return new Promise(resolve => setTimeout(resolve, time));
}
(async () => {
let counter = 1;
while (true) {
console.log(`==== Exporting page ${counter} ====`);
await sleep(1000);
console.log(' Getting check...');
#!/bin/sh
TASK_ID=11;
REQ_VERSIONS=10;
SUCC_VERSIONS=0;
# Use a temporary file to store the JSON output
tmpfile=$(mktemp)
synowebapi --exec api=SYNO.ActiveBackup.Task method=list load_verify_status=true load_versions=true filter='{"task_id": '$TASK_ID', "data_formats": [1,4]}' version=1 | jq .data.tasks[0].versions > "$tmpfile"
@joeperpetua
joeperpetua / hb_dest_fix.sh
Last active October 23, 2023 13:38
This script helps you to change the usbshare destination for all Hyper Backup tasks that share the same current destination. For example, task A and B where made in usbshare1, but then the USB disk is mounted as usbshare2, then running this script will change the destination for task A and B to usbshare2.
#!/bin/sh
HELP='false';
DSM_MAJOR=0;
DSM_MINOR=0;
CONF_PATH='';
while getopts ":ho:n:" flag
do
case "${flag}" in
h) HELP='true';;
@joeperpetua
joeperpetua / hb_auto_resume.sh
Created August 17, 2023 16:46
Auto resume Hyper Backup task
#!/bin/sh
TASK_ID=3;
TASK_STATUS=$(synowebapi --exec api=SYNO.Backup.Task method=status version=1 task_id="$TASK_ID" additional='["last_bkp_result"]' | jq .data.last_bkp_result);
if [[ "$TASK_STATUS" == \"suspend\" ]]; then
echo "[$(date)] Backup is suspended" >> /volume1/hb_auto_resume.log;
echo "[$(date)] Resuming backup..." >> /volume1/hb_auto_resume.log;
synowebapi --exec api=SYNO.Backup.Task method=resume task_id="$TASK_ID" version=1 >> /volume1/hb_auto_resume.log;
else
echo "[$(date)] Backup is not suspended." >> /volume1/hb_auto_resume.log;
@joeperpetua
joeperpetua / MyFitnessPal-AVG-Values-Report.js
Created June 25, 2023 17:51
Add button to calculate AVG values for MFP reports for Calories, Net Calories, Protein, Carbs and Fat.
// ==UserScript==
// @name MyFitnessPal - Graph Average values
// @version 0.1
// @description Add button to calculate AVG values for MFP reports for Calories, Net Calories, Protein, Carbs and Fat.
// @author https://github.com/joeperpetua
// @match https://www.myfitnesspal.com/reports
// @icon https://www.google.com/s2/favicons?sz=64&domain=myfitnesspal.com
// @grant none
// ==/UserScript==
@joeperpetua
joeperpetua / busuuPowerTools.js
Created May 6, 2023 14:52
Add useful functionalities to Busuu website
// ==UserScript==
// @name Busuu Power Tools
// @namespace http://tampermonkey.net/
// @version 0.1
// @description Add useful functionalities to Busuu website.
// @author http://github.com/joeperpetua
// @match https://www.busuu.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=busuu.com
// @grant none
// ==/UserScript==
@joeperpetua
joeperpetua / README.md
Last active March 16, 2023 17:10
Synology DSM Packages ID + Dependencies

Synology DSM Packages

List of Synology packages with respective IDs and dependencies.

This list is useful to be used in combination with the command synopkg, the commands that require the ID of the packages are:

start
stop
restart
pause
install_from_server