Вот скрипт, который я использую для восстановления одного конкретного ресурса на моем сервере каждый день в 2 часа ночи.
Скрипт восстановления (сохранен в / Users / Shared / Scripts)
#!/bin/bash # Document Control # --------------- # Filename: repair_FileShare.sh # Description: Repairs ownership and permissions on all files in the file share # Version: 1.0 # Local Variables # --------------- SharePath=/path/to/shared/folder/ # Repair Routine # --------------- # Unlock all files chflags -R nouchg $SharePath # Remove all ACL permissions chmod -RN $SharePath # Set Ownership - OwnerName:GroupName (Example MrSmith:FinanceTeam) chown -R root:admin $SharePath # Set Posix Permissions - Check out http://permissions-calculator.org for more on what 770 means chmod -R 770 $SharePath # Add ACL for Active Directory Group chmod -R +a "DOMAINNAME\\AD_Group_Name allow list,add_file,search,delete,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,writesecurity,chown,file_inherit,directory_inherit" $SharePath
Демон запуска раньше запускал скрипт каждый день в 2 часа ночи.
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>Label</key> <string>com.yourdomain.repair_FileShare</string> <key>ProgramArguments</key> <array> <string>sh</string> <string>/Users/Shared/Scripts/repair_FileShare.sh</string> </array> <key>StartCalendarInterval</key> <dict> <key>Hour</key> <integer>02</integer> <key>Minute</key> <integer>00</integer> </dict> </dict> </plist>
Сохраните его как /Library/LaunchDaemons/com.yourdomain.repair_FileShare.plist Затем используйте следующие команды для его загрузки:
sudo chown root:wheel /Library/LaunchDaemons/com.yourdomain.repair_FileShare.plist; sudo chmod 600 /Library/LaunchDaemons/com.yourdomain.repair_FileShare.plist; sudo launchctl load -w /Library/LaunchDaemons/com.yourdomain.repair_FileShare.plist;