--- /dev/null
+#!/usr/bin/env -S bash -l
+
+main() {
+ local dir=/var/backups
+ local usage="backup-datas [-dir PATH] [-days DAYS]"
+
+ while [ $# -gt 0 ]; do
+ case "$1" in
+ -days) keep_days="$2"; shift ;;
+ -dir) rootdir="$2"; shift ;;
+ *) echo "$usage" 1>&2; return 1 ;;
+ esac
+ shift
+ done
+
+ echo $dir
+ return
+
+ [ -e /var/lib/ldap ] && \
+ echo ldap_backup -dir $dir/ldap -days $days
+
+ [ -e /var/lib/postgresql ] && \
+ echo pg_backup -dir $dir/postgres -days $days
+
+ [ -e /var/lib/mysql ] && \
+ echo mysql_backup -dir $dir/mysql -days $days
+}
+
+main $@
+#( umask 077
--- /dev/null
+mysql_backup() {
+ local keep_days=7
+ local dir=/var/backups/mysql
+ local preff="$(date +'%F-%H%M')"
+ local usage="mysql_backup [-dir PATH] [-days DAYS]"
+
+ while [ $# -gt 0 ]; do
+ case "$1" in
+ -days) keep_days="$2"; shift ;;
+ -dir) dir="$2"; shift ;;
+ *) echo "$usage" 1>&2; return 1 ;;
+ esac
+ shift
+ done
+
+ cd /
+ mysql -e 'select 1' >/dev/null 2>&1 || return 0
+
+ (
+ umask 077
+ [ -d "$dir" ] || mkdir -p "$dir" || return
+ mysqldump --all-databases --system=all | bzip2 -9 -c > "$dir/"$preff-mysqldump.sql.bz2
+ )
+
+ if [ -n "$keep_days" -a "$keep_days" -gt 0 ]; then
+ find $dir/*-mysqldump.sql* -type f -mtime +$keep_days -delete
+ fi
+
+}
+