-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathbackupln.sh
executable file
·29 lines (26 loc) · 1004 Bytes
/
backupln.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/bash
backupuser="pmback-$(hostname)"
dumpdir=/var/lib/vz/dump/
ddirlen=${#dumpdir}
cut1=$(expr $ddirlen + 1)
cut2=$(expr $ddirlen + 15)
if [ ! -d "/home/$backupuser" ]; then
echo "/home/$backupuser does not exist, exiting $0"
exit
fi
if [ ! -d "/home/$backupuser/pmbackup" ]; then
mkdir /home/$backupuser/pmbackup
fi
if [ ! -d "/home/$backupuser/pmbackup" ]; then
echo "/home/$backupuser/pmbackup not creatable, exiting $0"
exit
fi
chown $backupuser:$backupuser /home/$backupuser/pmbackup
rm /home/$backupuser/pmbackup/* 2>/dev/nul
backupvms=$(find $dumpdir -maxdepth 1 -a -type f -a -name '*.gz' -o -name '*.lzo' |cut -c $cut1-$cut2|sort|uniq)
echo backupvms: $backupvms
for backupvm in $backupvms; do
backupfile=$(find /var/lib/vz/dump/ -maxdepth 1 -a -name "$backupvm*" -a \( -name "*.lzo" -o -name "*.gz" \) -printf '%T+ %p\n' |sort -r|cut -d" " -f2|head -1)
backupfilename=$(basename -- "$backupfile")
ln -s $backupfile /home/$backupuser/pmbackup/$backupfilename
done