Написание скрипта под юникс
Модератор: Olej
Написание скрипта под юникс
С программированием я никогда не связывался и к юниксу имею очень маленькое отношение. Но начал учиться и сейчас у меня задание :Написать скрипт, производящий очистку указанной директории путем архивирования и сжатия (.tar.gz) всех файлов старше указанного времени. К архиву должен прилагаться скрипт, позволяющий откатить сделанные изменения (т.е. распаковать архив и разложить файлы обратно по директориям). Расскажите по подробней пожалуйста что это и с чем это едят)))
- Olej
- Писатель
- Сообщения: 21338
- Зарегистрирован: 24 сен 2011, 14:22
- Откуда: Харьков
- Контактная информация:
Re: Написание скрипта под юникс
Писать скрипт я за вас не стану - это моя принципиальная позиция, я не помогаю тем, кто не хочет сам ... поупираться рогамиКирилл писал(а):Но начал учиться и сейчас у меня задание :Написать скрипт, производящий очистку указанной директории путем архивирования и сжатия (.tar.gz) всех файлов старше указанного времени. К архиву должен прилагаться скрипт, позволяющий откатить сделанные изменения (т.е. распаковать архив и разложить файлы обратно по директориям). Расскажите по подробней пожалуйста что это и с чем это едят)))
А рассказать подробнее? ... Это пожалуйста :
1. вам нужно любым текстовым редактором написать в файл с любым именем последовательность команд на языке shell (а скорее на его расширении bash), которые и выполнят ваши действия (команды можете предварительно проверить "вручную" )...
2. после чего сделать этот свой файл (например zzz) исполнимым, типа:
Код: Выделить всё
$ chmod a+x zzz
4. По существу действий вашей задачи ...
Если вы "начали учить", то первое что нужно усвоить, что любая задача в программировании может решаться очень многими способами.
Вы можете в своей задаче:
4.1.
- сделать переменную скрипта...
- в цикле пробежать по всем именам файлов, и если они старше даты - добавить имя к переменной (через пробел)
- дальше вызываете утилиту tar (архиватор), передавая ей переменную последним параметром как список файлов архива.
- а затем по тому же списку удаляете файлы командой rm
4.2.
- можете в цикле ...
- поштучно добавлять каждый файл (если дата подходит) командой tar с ключом -r
- и тут же удалять этот файл
4.3.
- можете посмотреть в сторону ключа -u команды tar - "добавление в архив только более новых файлов" ...
- сделайте команды:
Код: Выделить всё
$ tar --help
$ man tar
Ну а откатить сделанные изменения - это просто разархивировать ваш архив и удалить его:
Код: Выделить всё
$ tar -zxvf aaa.tgz
$ rm aaa.tgz
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя