Назад | Перейти на главную страницу

tar более новые файлы в первом каталоге, но игнорирует mtime для второго

Я пытаюсь сделать резервные копии некоторых файлов на моем сервере, используя tar но я не могу заставить его делать то, что хочу. Я искал решение в Google, но не могу найти подходящего. Я хочу файлы в /home/me/mysqlDumpFiles должны быть включены, только если они новее, чем 1 час назад, но я хочу, чтобы все файлы в /var/www быть включенными независимо от того, когда они были изменены.

dateNow=$(date +%m_%d_%y-%H.%M.%S) tar czf /home/me/backups/backup-$dateNow.tar.gz /home/me/mysqlDumpFiles --newer-mtime "1 hour ago" /var/www

Я ценю любую помощь, которую я получаю.

РЕДАКТИРОВАТЬ: В итоге я создал свой собственный сценарий оболочки и запустил его с двумя отдельными командами tar

#!/bin/bash
set -e
currentDate=$(date +%Y-%m-%d_%H.%M.%S)

printf "currentDate is $currentDate\n========================================\n"
mkdir /home/me/backupTemp;
mysqldump -uroot -p[CENSORED] [DATABSE_NAME]> /home/me/backupTemp/site.net.sql;
tar -jcf /home/me/mysqlDumpFiles/site.net-$currentDate.tar.bz2  -C /home/me/backupTemp .;
tar -jcf /home/me/backups/backup-$currentDate.tar.bz2 -C /home/me/backupTemp . -C /var/www .;
rm -rf /home/me/backupTemp;
printf "========================================\n"

Для этого вам нужно будет выполнить две отдельные команды tar.

Вы могли разделить архивы:

dateNow=$(date +%m_%d_%y-%H.%M.%S)
tar czf ~/backups/mysql-$dateNow.tar.gz ~/mysqlDumpFiles/ --newer-mtime "1 hour ago" 
tar czf ~/backups/www-$dateNow.tar.gz /var/www/

Или вы можете использовать -r (--append, добавлять файлы в конец архива) чтобы добавить папку в тот же архив:

dateNow=$(date +%m_%d_%y-%H.%M.%S)
tar cf ~/backups/backup-$dateNow.tar ~/mysqlDumpFiles/ --newer-mtime "1 hour ago"
tar rf ~/backups/backup-$dateNow.tar /var/www/
gzip ~/backups/backup-$dateNow.tar