Ваша проблема, скорее всего, состоит в том, что в файле /etc/resolv.conf
нет записей для DNS-серверов, с которыми можно было бы разрешить имя хоста или IP-адреса.
Вот базовый файл:
# Google DNS servers
nameserver 8.8.8.8
nameserver 8.8.4.4
Вы можете использовать текстовые редакторы gedit
(GUI) или nano
(командная строка), чтобы отредактировать этот файл и добавить в него эти строки. . Чтобы отредактировать этот файл, вам необходимо иметь root-права.
-mtime
является стандартным предикатом find
(, в отличие от -delete
), но похоже, что у вас урезанная версия busybox
, где функция FEATURE_FIND_MTIME
была отключена во время сборки.
Если вы можете пересобрать busybox с его включением, вы сможете сделать:
find. -mtime +6 -type f -exec rm -f {} +
Или, если FEATURE_FIND_DELETE
также включен:
find. -mtime +6 -type f -delete
Если нет, другие варианты могут заключаться в использовании find -newer
(, предполагая, что FEATURE_FIND_NEWER
включен )для файла, для которого установлено время модификации одной недели.
touch -d "@$(($(date +%s) - 7 * 86400))"../ref &&
find. ! -type f -newer../ref -exec rm -f {} +
Или, если -newer
недоступен, но sh
поддерживает [
-nt
:
touch -d "@$(($(date +%s) - 7 * 86400))"../ref &&
find. ! -type f -exec sh -c '
for f do
[ "$f" -nt../ref ] || printf "%s\0" "$f"
done' sh {} + |
xargs -0 rm -f
Изman find
:
-atime n
File was last accessed n*24 hours ago. When find figures out how many 24-hour periods ago the file was last accessed, any fractional part is ignored, so to match -atime +1, a file has to have been accessed at least two days ago.
-ctime n
File's status was last changed n*24 hours ago. See the comments for -atime to understand how rounding affects the interpretation of file status change times.
В зависимости от вариантов использования файлов, которые вы хотите удалить, это единственные другие варианты для find
. Почему mtime
недоступен? Какую файловую систему вы используете? Вы изучали другие варианты?