Удаление файлов после добавления в tar

В настоящее время я работаю над своим сценарием bash, который выполняет резервное копирование данных mysql, единственная проблема, с которой я столкнулся, - это параметр tar, который работал на debian, но не работал на FreeBSD.

Да, я прочитал это: Удаление файлов после добавления в tar-архив

И ответ - это решение, которое я всегда использовал для debian - я имею в виду параметр --remove-files.

Выполнение следующей команды во FreeBSD:

tar --remove-files -jcPf $DIR/$Y/$M/$D/mysql-$HOUR.tar.bz2 *.sql

Выдает следующую ошибку:

tar: Option --remove-files is not supported

Я не нашел ничего похожего на параметр --remove-files. при чтении man tar, так какое же решение?


person Scott    schedule 17.11.2012    source источник


Ответы (1)


Должен ли это быть вариант tar? Скорее всего, --remove-files является расширением gnu (или чем-то еще), поэтому вы, вероятно, сможете просто установить эту «расширенную» версию tar на FreeBSD и использовать ее.

Если вы не можете/не хотите, я думаю, что это подойдет:

tar -jvcPf $DIR/$Y/$M/$D/mysql-$HOUR.tar.bz2 *.sql | xargs rm

Кстати, я думаю, что «-» можно (и нужно) опустить в параметрах tar...

person ishi    schedule 17.11.2012
comment
xargs rm не работает, оставляет файлы, не удаляя их. - person Scott; 17.11.2012
comment
попробуйте добавить опцию -f: ... | xargs rm -f - person ishi; 18.11.2012