Как написать небольшой скрипт для очистки файлов каждого каталога при запуске компьютера?

9

У меня есть гостевой компьютер для использования только в Интернете. Некоторые пользователи загружают некоторые файлы и оставляют их на рабочем столе, но на компьютере не хватает места для всех гостей, и не разрешается помещать туда файл.

Что я хочу сделать, это очистить каждый файл в домашнем каталоге при запуске компьютера, но сохранить структуру каталогов, такую ​​как Music, Pictures, Documents & amp; Загрузки.

Как я могу это сделать?     

задан Achu 29.08.2011 в 14:48
источник

4 ответа

14

Вы можете безопасно удалить все файлы в домашнем каталоге, потому что они воссозданы, кроме файлов, скопированных при создании пользователя из /etc/skel , поэтому

#!/bin/bash

shopt -s dotglob 
rm -rf /home/username/*
sudo -u username cp -a /etc/skel/* /home/username/

, где username должно быть заменено чем-то значимым.

По вашему запросу («при ​​запуске компьютера») это может быть выполнено из /etc/rc.local . Скорее всего, вы хотите выполнить его между каждым для входа в систему, поэтому поставьте его под /etc/gdm/PostSession или /etc/gdm/PreSession .

    
ответ дан enzotib 29.08.2011 в 14:59
источник
6

Вы описываете гостевую сессию. Я не совсем уверен, как это работает, но в 11.10 оно отображается по умолчанию на экране приветствия. Эта учетная запись делает именно то, что вы хотите, поэтому вопрос заключается в том, хотите ли вы потратить время на повторное создание 11.04, или если вы предпочтете подождать, пока вам не станет комфортно с обновлением до 11.10. Он входит в бета-версию 1 в четверг. В любом случае, это не повредит загрузке и загрузке живого сеанса и посмотреть, как вам это нравится. Если это именно так, как вы этого хотите, тогда вы узнаете, как его воссоздать.     

ответ дан Jo-Erlend Schinstad 29.08.2011 в 16:13
2

Создайте скрипт с выбранным именем и добавьте этот контент:

rm -r ~/Music/*
rm -r ~/Pictures/*
rm -r ~/Documents/*
rm -r ~/Videos/*
rm -r ~/Downloads*
rm -r ~/Desktop/*

Сохраните этот файл, пометьте его как исполняемый файл и добавьте его в свои запущенные приложения (для учетной записи, которая должна быть очищена).

Это очистит все файлы в этих каталогах. Однако очистка содержимого ~/ сама по себе немного сложнее, и я буду обновлять свой ответ, если найду безопасный способ сделать это.

    
ответ дан RolandiXor 29.08.2011 в 14:56
1

Вы можете сделать что-то вроде

#!/bin/bash

rm -rf /home/Guest/Desktop/*
rm -rf /home/Guest/Documents/*
rm -rf /home/Guest/Downloads/*
rm -rf /home/Guest/Music/*
rm -rf /home/Guest/Pictures/*
rm -rf /home/Guest/Videos/*

Сохраните это как нечто вроде cleanup.sh и сделайте его исполняемым с chmod +x cleanup.sh . Затем вы можете вызвать ./cleanup . Обратите внимание, что это удаляет все в этих папках, используйте с осторожностью. Обязательно измените «Гость» на имя вашего пользователя.

Вы можете выполнить этот запуск при запуске, добавив его в настройки запуска приложений.

Вы также можете добавить этот скрипт в качестве задания cron в своей системе, чтобы он запускался каждую ночь. Смотрите здесь для получения дополнительной информации о заданиях cron.

    
ответ дан Kris Harper 29.08.2011 в 14:55