Здравствуйте!
Нашел и решил использовать скрипт, который должен делать бекап каждый день недели, каждую неделю и каждый месяц, т.е. 7-4-12.
Заменил некоторые переменные на свои.
#!/bin/bash
####################################
#
# Backup to NFS mount script with
# grandfather-father-son rotation.
# 7-4-12
####################################
# What to backup.
### backup_files="/home /var/spool/mail /etc /root /boot /opt"
cd /var/lib/vz/private/119/root/myscript
backup_files=sim3_backup.sql
# Where to backup to.
### dest="/mnt/backup"
dest="/var/lib/vz/4sim3.bak"
# Setup variables for the archive filename.
day=$(date +%A)
### hostname=$(hostname -s)
hostname=sim3
# Find which week of the month 1-4 it is.
day_num=$(date +%d)
if (( $day_num <= 7 )); then
week_file="$hostname-week1.tgz"
elif (( $day_num > 7 && $day_num <= 14 )); then
week_file="$hostname-week2.tgz"
elif (( $day_num > 14 && $day_num <= 21 )); then
week_file="$hostname-week3.tgz"
elif (( $day_num > 21 && $day_num < 32 )); then
week_file="$hostname-week4.tgz"
fi
# Find if the Month is odd or even.
month_num=$(date +%m)
month=$(expr $month_num % 2)
if [ $month -eq 0 ]; then
month_file="$hostname-month2.tgz"
else
month_file="$hostname-month1.tgz"
fi
# Create archive filename.
if [ $day_num == 1 ]; then
archive_file=$month_file
elif [ $day != "Saturday" ]; then
archive_file="$hostname-$day.tgz"
else
archive_file=$week_file
fi
# Print start status message.
echo "Backing up $backup_files to $dest/$archive_file"
date
echo
# Backup the files using tar.
tar czf $dest/$archive_file $backup_files
# Print end status message.
echo
echo "Backup finished"
date
# Long listing of files in $dest to check file sizes.
ls -lh $dest/
И, казалось бы, всё заработало. Но когда пришло время создания файла за неделю, то появились такие ошибки:
line 23: ((: 08: value too great for base (error token is "08")
line 25: ((: 08: value too great for base (error token is "08")
line 27: ((: 08: value too great for base (error token is "08")
line 29: ((: 08: value too great for base (error token is "08")
где 08, как я понимаю, это восьмое число месяца.
Самому разобраться не хватило ума, подскажите в чём дело, пожалуйста.