mirror of
https://github.com/YunoHost/yunohost.git
synced 2024-09-03 20:06:10 +02:00
63 lines
1.3 KiB
Bash
63 lines
1.3 KiB
Bash
#!/bin/bash
|
|
set -euo pipefail
|
|
ynh_return() {
|
|
echo "$1" >>"$YNH_STDRETURN"
|
|
}
|
|
|
|
work_dir="$2"
|
|
name="$3"
|
|
repo="$4"
|
|
size="$5"
|
|
description="$6"
|
|
|
|
case "$1" in
|
|
# Repository actions
|
|
need_mount)
|
|
# Set false if your method can itself put files in good place in your archive
|
|
true
|
|
;;
|
|
install)
|
|
ynh_return "super: true"
|
|
;;
|
|
update)
|
|
;;
|
|
purge)
|
|
ynh_return "super: true"
|
|
;;
|
|
list_archives_names)
|
|
ls $YNH_BACKUP_LOCATION | { grep "^${YNH_BACKUP_PREFIX}" || true; } | sed 's/^/ - "/g' | sed 's/$/"/' >> "$YNH_STDRETURN"
|
|
;;
|
|
backup)
|
|
cp -a "${work_dir}" "$YNH_BACKUP_LOCATION/$name"
|
|
;;
|
|
delete)
|
|
source /usr/share/yunohost/helpers
|
|
ynh_secure_remove "$YNH_BACKUP_LOCATION/$name"
|
|
;;
|
|
list_files)
|
|
ls $YNH_BACKUP_LOCATION | sed 's/^/ - "/g' | sed 's/$/"/' >>"$YNH_STDRETURN"
|
|
echo ok
|
|
;;
|
|
download)
|
|
# Not implemented
|
|
exit 38
|
|
;;
|
|
extract)
|
|
IFS=, read -ra extract_paths <<< "$YNH_BACKUP_PATHS"
|
|
exclude=$(echo "$YNH_BACKUP_EXCLUDE" | sed "s/,/ --exclude /g")
|
|
for include in "${extract_paths[@]}"
|
|
do
|
|
rsync --relative -av "$YNH_BACKUP_LOCATION/./$include" "./" $exclude
|
|
done
|
|
;;
|
|
mount)
|
|
mount --bind "$YNH_BACKUP_LOCATION/$name" "$work_dir"
|
|
;;
|
|
*)
|
|
echo "hook called with unknown argument \`$1'" >&2
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
exit 0
|
|
|